码迷,mamicode.com
首页 > Web开发 > 详细

Hibernate查询方式

时间:2017-09-18 13:19:27      阅读:181      评论:0      收藏:0      [点我收藏+]

标签:数据库表   session   any   员工   lang   int   set   sel   style   

Hibernate查询方式

1 OID查询

(1)根据id查询某一条记录,返回对象

2 对象导航查询

(1)根据id查询某个公司,再查询这个公司里面所有的员工

 

Company c=session.get(Company.class, 1);
        Set<Worker> set=    c.getWorkers();
        for (Worker worker : set) {
            System.out.println(worker.getWname()+" "+worker.getWid());
        }

 

3 HQL查询

(1)Query对象,写hql语句实现查询

1 hql:hibernate query language,hibernate提供一种查询语言,hql语言和普通sql很相似,区别:普通sql操作数据库表和字段,hql操作实体类和属性

 

(2) 常用的hql语句

a、查询所有: from 实体类名称

b、条件查询: from 实体类名称 where 属性名称=?

c、排序查询: from 实体类名称 order by 实体类属性名称 asc/desc(倒序排列)

(3)使用hql查询操作时候,使用Query对象

a、创建Query对象,写hql语句

b、调用query对象里面的方法得到结果

例:查询所有

  

  1 查询所有客户记录

  (1)创建Query对象,写hql语句

  (2)调用query对象里面的list方法得到结果

Query query=session.createQuery("from Company");
            List<Company> list=query.list();

  条件查询

  

hql条件查询语句写法:

1  from  实体类名称 where 实体类属性名称=? and实体类属性名称=?

2  from  实体类名称 where 实体类属性名称 like ?

   3  from  实体类名称 where 实体类属性名 like  ‘%百’ 是单引号

1 明确条件查询

Query query=

session.createQuery("from Company where cid=?and cname=?");

      query.setParameter(0, 1);

      query.setParameter(1,"百度");

      List<Company> list=query.list();

 

 

模糊条件查询

Query query=

session.createQuery("from Company where cname like ?");

query.setParameter(0, "百%");

   List<Company> list=query.list();

  排序查询

  1 hql排序语句写法

  (1)from 实体类名称 order by 实体类属性名称 asc/desc(desc为倒叙)

Query query=

session.createQuery("from Company order by cid desc");  

List<Company> list=query.list();

 

  投影查询

  

1 投影查询:查询表中部分字段的值

 

2 投影查询hql语句写法:

(1)select 实体类属性名称1, 实体类属性名称2  from 实体类名称

(2)注意:  select 后面不能写 * ,不支持的

 

3 具体实现

Query query=

session.createQuery("select cname from Company ");      

   List<String> list=query.list();

 

2 查询所有: from 实体类名称

4 QBC查询

(1)Criteria对象

5 本地sql查询

(1)SQLQuery对象,使用普通sql实现查询

Hibernate查询方式

标签:数据库表   session   any   员工   lang   int   set   sel   style   

原文地址:http://www.cnblogs.com/ncl-960301-success/p/7542455.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!