Hibernate 的查询语句




1 最简单的查询

List<Special> specials =(List<Special>)session.createQuery("select spe from Specialspe").list();

2.基于 ? 的参数化形式

List<Student>students = (List<Student>)session.createQuery("select stu fromStudent stu where name like ?") .setParameter(0, "%%") .list();

    3.基于 :xx 的别名的方式设置参数

 List<Student> students =(List<Student>)session.createQuery("select stu from Student stuwhere name like :name and sex like :sex").setParameter("name","%%").setParameter("sex","%%").list();                                   4.如果返回的值只有一个,可以使用uniqueResult方法

    Longstu = (Long)session.createQuery("select count(*) from Student stu wherename like :name and sex like :sex").setParameter("name", "%%").setParameter("sex","%%").uniqueResult();

5.基于投影的查询基于投影的查询,如果返回多个值,这些值都是保存在一个object[]数组当中)

List<Object[]> stus =(List<Object[]>)session.createQuery("select stu.name, stu.sex fromStudent stu where name like :name and sex like:sex").setParameter("name", "%%").setParameter("sex","%%").list();

 

 

6.基于导航对象的查询

List<Student> stus =(List<Student>)session.createQuery("select stu from Student stuwhere stu.room.name like :room and sex like:sex").setParameter("room", "%计算机应用%").setParameter("sex","%%").list();

7.使用in 进行列表查询

   List<Student> stus =(List<Student>)session.createQuery("select stu from Student stuwhere stu.room.id in (:room) and stu.sex like:sex").setParameterList("room", new Integer[]{1, 2}).setParameter("sex","%%").list();

8.分页查询

List<Student> stus =(List<Student>)session.createQuery("select stu from Student stuwhere stu.room.name like :room and sex like:sex").setParameter("room", "%计算机应用%").setParameter("sex","%%").setFirstResult(0).setMaxResults(10).list();

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值