
Hibernate
北京Java青年
这个作者很懒,什么都没留下…
展开
-
Hibernate连接查询
//通过query.iterate()方法优化性能:如果之前有过查询,则只通过主键从以前的缓存中获取数据,减少数据查询任务量 @org.junit.Test public void iterateQE(){ session=HibernateUtil.getSession(); hql="from Emp"; List<Emp> elis原创 2019-06-13 13:43:13 · 481 阅读 · 0 评论 -
Hibernate中HQL命名查询和SQL命名查询
一、HQL中的命名查询 在class配置文件外<query name="findEmpById"><![CDATA[from Emp where empNo=:empNo]]></query> @org.junit.Test //HQL命名查询,通过配置文件 public void findEmpById(){ session=HibernateUtil.原创 2019-06-13 13:50:09 · 1969 阅读 · 0 评论 -
Criteria查询
//Criteria查询 public void testCriteria(){ session=HibernateUtil.getSession();//session.createCriteria(.class); Criteria criteria=session.createCriteria(Emp.class); List<Emp>原创 2019-06-13 13:49:59 · 651 阅读 · 0 评论 -
Hibernate-关联映射
关联映射 多对一 //emp-dept联合查询 public void qEmp(){ session=HibernateUtil.getSession(); sql="from Emp where empNo =7788"; Query query=session.createQuery(sql); List<Emp>原创 2019-06-13 13:42:43 · 360 阅读 · 0 评论 -
HQL-Query查询中的占位符处理到动态分页查询
//查询语句:采用别名(:ename)代替(?),set时不再使用位置参数下标,而是命名参数别名来赋值。 public void queryDept(){ session=HibernateUtil.getSession(); sql="from Dept where deptName=:deptname"; Query query=sessio原创 2019-06-13 13:42:30 · 1436 阅读 · 0 评论 -
在HQL中将查询结果封装入实例化对象
public void avg3(){ //使用DecimalFormat方法对Double数值进行格式化 DecimalFormat df=new DecimalFormat("0.00"); session=HibernateUtil.getSession();//聚合函数 hql="select new entity.原创 2019-06-13 13:46:35 · 1144 阅读 · 0 评论 -
HQL中的子查询
//子查询 @org.junit.Test public void subQuery(){ session=HibernateUtil.getSession(); hql="from Emp where sal<(select avg(e.sal) from Emp e) order by sal desc"; List<Emp> el原创 2019-06-13 13:46:28 · 3463 阅读 · 0 评论 -
HQL中的聚合函数:count()sum()avg()max()min()
**聚合函数:count()/sum()/avg()/max()/min()**@org.junit.Test public void avg2(){ //使用DecimalFormat方法对Double数值进行格式化 DecimalFormat df=new DecimalFormat("0.00"); session=Hibern原创 2019-06-13 13:44:06 · 4137 阅读 · 0 评论 -
Hibernate中的批量处理executeUpdate()
// 批量处理:JDBC @org.junit.Test public void jdbcBatch(){ session=HibernateUtil.getSession(); tx=session.beginTransaction(); Work work=new Work(){//匿名内部类、Work实现类原创 2019-06-13 13:43:57 · 1880 阅读 · 0 评论 -
Hibernate-多关系时对应的多个关联对象Set集合进行排序
直接通过对多关系get()/load()时,可以通过设置配置文件进行排序(表中的列名)//对set集合进行排序,asc升序,desc降序<set name="emps" cascade="all" inverse="false" order-by="DEPTNO desc">如果是查询,可以直接在HQL语句结尾加order by类的属性名Hql=”from Emp order by eno asc原创 2019-06-13 13:43:49 · 1032 阅读 · 0 评论 -
Hibernate二级缓存和查询缓存
二级缓存: 1. jar包两个 commons-logging.jar ehcache-1.2.3.jar 2. 总配置文件<property name="hibernate.cache.use_second_level_cache">true</property><property name="hibernate.cache.provider_class">org.hibernate原创 2019-06-13 13:43:32 · 609 阅读 · 0 评论 -
Hibernate-OpenSessionInView-session开启-关闭过滤器filter
public class OpenSessionInViewFilter implements Filter { @Override public void destroy() { // TODO Auto-generated method stub } @Override public void doFilter(ServletRequest ar原创 2019-06-13 13:43:24 · 765 阅读 · 0 评论 -
Hibernate反向工程
反向工程 一、数据库建表 注意: 表A设置主键、外键,有外键为many方; 表B只设置主键,为one方。 二、配置文件 配置文件中加入序列sequence 1. 在SQL中创建序列; 2. 在配置文件中: seq_lizi 三、DB Explorer中建立连接 Driver Template:Oracle(th原创 2019-06-13 13:43:41 · 663 阅读 · 0 评论 -
Hibernate-get()/load()/save()
// 级联关系反转inverse,默认为false public void inverseEmp() { session = HibernateUtil.getSession(); Transaction tx = session.beginTransaction(); Emp e = (Emp) session.get(Emp.class,原创 2019-06-13 13:43:03 · 479 阅读 · 0 评论 -
Hibernate-hibernate初探
HIBERNATE 1. ORM(object relational mapping),简化数据库操作; 2. 作用于DAO层。优势: 1. 优秀的java持久化层解决方案; 2. 主流的对象-关系映射工具; 3. 简化了JDBC繁琐的编码; 4. 将数据库的连接信息都存放在配置文件。 5. dao层操作与数据库无关,当更换oracle、mysql、db2、SQLserv原创 2019-06-13 13:42:20 · 525 阅读 · 0 评论 -
Hibernate组件映射
建立关系数据模型的一个重要原则是在不会导致数据冗余的前提下,尽可能减少数据库表中的数目及表之间的外键参照关系。以员工信息为例,员工信息中有员工的家庭地址信息,如果把地址信息单独放在一张表中,然后建立员工信息表和地址信息表之间的外键关系,当每次查询员工信息时,都需要建立这两个表的连接。建立表的连接是很耗时的操作,为了提高数据库运行性能,可以把这两张表的信息整合在一张员工信息表Empinfo中。 Em原创 2019-06-13 13:51:24 · 294 阅读 · 0 评论 -
HQL中的原生SQL查询
原生SQL-内连接查询public void sqlJoin(){ session=HibernateUtil.getSession(); sql="select {e.*},{d.*} from EMP e inner join DEPT d on e.DEPTNO=d.DEPTNO";//给查询结果添加实体类,添加连接表的类属性 Query qu原创 2019-06-13 13:50:18 · 789 阅读 · 0 评论