Hibernate学习之路(七)

hql:hibernate query language   hibernate查询语言

1、单属性查询

 1     public void testQuery1(){
 2         //通过Configuration对象创建SessionFactory对象
 3         SessionFactory sf = new Configuration().configure().buildSessionFactory();
 4         //创建Session对象
 5         Session s = sf.openSession();
 6         //开启事务
 7         s.beginTransaction();
 8
 9         //我们只需要关注这里的事务。
10         String sql = "select name from Student";
11         Query query = s.createQuery(sql);
12         //返回结果类型,根据查询的列决定
13         List<String> names = query.list();
14         for(String name: names){
15             System.out.println(name);
16         }
17         //提交事务
18         s.getTransaction().commit();
19         //关闭Session
20         s.close();
21         //关闭SessionFactory
22         sf.close();
23     }

2、多个属性查询

 1     public  void testQuery1(){
 2         //通过Configuration对象创建SessionFactory对象
 3         SessionFactory sf = new Configuration().configure().buildSessionFactory();
 4         //创建Session对象
 5         Session s = sf.openSession();
 6         //开启事务
 7         s.beginTransaction();
 8
 9         //我们只需要关注这里的事务。
10         String sql = "select name,age from Student";
11         Query query = s.createQuery(sql);
12         //返回结果类型,根据查询的列决定
13         List<Object[]> list = query.list();
14         for(Object[] objs: list){
15             System.out.println(objs[0]+"---"+objs[1]);
16         }
17         //提交事务
18         s.getTransaction().commit();
19         //关闭Session
20         s.close();
21         //关闭SessionFactory
22         sf.close();
23     }

3、查询所有列

 1     public  void testQuery1(){
 2         //通过Configuration对象创建SessionFactory对象
 3         SessionFactory sf = new Configuration().configure().buildSessionFactory();
 4         //创建Session对象
 5         Session s = sf.openSession();
 6         //开启事务
 7         s.beginTransaction();
 8
 9         //我们只需要关注这里的事务。
10         String sql = "from Student";
11         Query query = s.createQuery(sql);
12         //返回结果类型,根据查询的列决定
13         List<Student> list = query.list();
14         for(Student stu: list){
15             System.out.println(stu);
16         }
17         //提交事务
18         s.getTransaction().commit();
19         //关闭Session
20         s.close();
21         //关闭SessionFactory
22         sf.close();
23     }

4、条件查询

 1     public  void testQuery1(){
 2         //通过Configuration对象创建SessionFactory对象
 3         SessionFactory sf = new Configuration().configure().buildSessionFactory();
 4         //创建Session对象
 5         Session s = sf.openSession();
 6         //开启事务
 7         s.beginTransaction();
 8
 9         //我们只需要关注这里的事务。
10         String sql = "from Student where id<?";
11         Query query = s.createQuery(sql);
12         query.setParameter(0, 2);
13         //返回结果类型,根据查询的列决定
14         List<Student> list = query.list();
15         for(Student stu: list){
16             System.out.println(stu);
17         }
18         //提交事务
19         s.getTransaction().commit();
20         //关闭Session
21         s.close();
22         //关闭SessionFactory
23         sf.close();
24     }

5、分页查询

 1     public  void testQuery1(){
 2         //通过Configuration对象创建SessionFactory对象
 3         SessionFactory sf = new Configuration().configure().buildSessionFactory();
 4         //创建Session对象
 5         Session s = sf.openSession();
 6         //开启事务
 7         s.beginTransaction();
 8
 9         //我们只需要关注这里的事务。
10         String sql = "from Student";
11         Query query = s.createQuery(sql);
12         query.setFirstResult(0);
13         query.setMaxResults(5);
14         //返回结果类型,根据查询的列决定
15         List<Student> list = query.list();
16         for(Student stu: list){
17             System.out.println(stu);
18         }
19         //提交事务
20         s.getTransaction().commit();
21         //关闭Session
22         s.close();
23         //关闭SessionFactory
24         sf.close();
25     }
时间: 07-12

Hibernate学习之路(七)的相关文章

[原创]java WEB学习笔记93:Hibernate学习之路---Hibernate 缓存介绍,缓存级别,使用二级缓存的情况,二级缓存的架构集合缓存,二级缓存的并发策略,实现步骤,集合缓存,查询缓存,时间戳缓存

本博客的目的:①总结自己的学习过程,相当于学习笔记 ②将自己的经验分享给大家,相互学习,互相交流,不可商用 内容难免出现问题,欢迎指正,交流,探讨,可以留言,也可以通过以下方式联系. 本人互联网技术爱好者,互联网技术发烧友 微博:伊直都在0221 QQ:951226918 -----------------------------------------------------------------------------------------------------------------

[原创]java WEB学习笔记94:Hibernate学习之路---session 的管理,Session 对象的生命周期与本地线程绑定

本博客的目的:①总结自己的学习过程,相当于学习笔记 ②将自己的经验分享给大家,相互学习,互相交流,不可商用 内容难免出现问题,欢迎指正,交流,探讨,可以留言,也可以通过以下方式联系. 本人互联网技术爱好者,互联网技术发烧友 微博:伊直都在0221 QQ:951226918 -----------------------------------------------------------------------------------------------------------------

[原创]java WEB学习笔记89:Hibernate学习之路-- -Hibernate检索方式(5种),HQL介绍,实现功能,实现步骤,

本博客的目的:①总结自己的学习过程,相当于学习笔记 ②将自己的经验分享给大家,相互学习,互相交流,不可商用 内容难免出现问题,欢迎指正,交流,探讨,可以留言,也可以通过以下方式联系. 本人互联网技术爱好者,互联网技术发烧友 微博:伊直都在0221 QQ:951226918 -----------------------------------------------------------------------------------------------------------------

[原创]java WEB学习笔记84:Hibernate学习之路-- -映射 一对一关系 ,基外键的方式实现

本博客的目的:①总结自己的学习过程,相当于学习笔记 ②将自己的经验分享给大家,相互学习,互相交流,不可商用 内容难免出现问题,欢迎指正,交流,探讨,可以留言,也可以通过以下方式联系. 本人互联网技术爱好者,互联网技术发烧友 微博:伊直都在0221 QQ:951226918 -----------------------------------------------------------------------------------------------------------------

[原创]java WEB学习笔记82:Hibernate学习之路---映射 一对多关联关系,配置,CRUD方法测试及注意点

本博客的目的:①总结自己的学习过程,相当于学习笔记 ②将自己的经验分享给大家,相互学习,互相交流,不可商用 内容难免出现问题,欢迎指正,交流,探讨,可以留言,也可以通过以下方式联系. 本人互联网技术爱好者,互联网技术发烧友 微博:伊直都在0221 QQ:951226918 -----------------------------------------------------------------------------------------------------------------

[原创]java WEB学习笔记79:Hibernate学习之路--- 四种对象的状态,session核心方法:save()方法,persist()方法,get() 和 load() 方法,update()方法,saveOrUpdate() 方法,merge() 方法,delete() 方法,evict(),hibernate 调用存储过程,hibernate 与 触发器协同工作

本博客的目的:①总结自己的学习过程,相当于学习笔记 ②将自己的经验分享给大家,相互学习,互相交流,不可商用 内容难免出现问题,欢迎指正,交流,探讨,可以留言,也可以通过以下方式联系. 本人互联网技术爱好者,互联网技术发烧友 微博:伊直都在0221 QQ:951226918 -----------------------------------------------------------------------------------------------------------------

[原创]java WEB学习笔记90:Hibernate学习之路-- -HQL检索方式,分页查询,命名查询语句,投影查询,报表查询

本博客的目的:①总结自己的学习过程,相当于学习笔记 ②将自己的经验分享给大家,相互学习,互相交流,不可商用 内容难免出现问题,欢迎指正,交流,探讨,可以留言,也可以通过以下方式联系. 本人互联网技术爱好者,互联网技术发烧友 微博:伊直都在0221 QQ:951226918 -----------------------------------------------------------------------------------------------------------------

[原创]java WEB学习笔记85:Hibernate学习之路-- -映射 一对一关系 ,基于主键方式实现

本博客的目的:①总结自己的学习过程,相当于学习笔记 ②将自己的经验分享给大家,相互学习,互相交流,不可商用 内容难免出现问题,欢迎指正,交流,探讨,可以留言,也可以通过以下方式联系. 本人互联网技术爱好者,互联网技术发烧友 微博:伊直都在0221 QQ:951226918 -----------------------------------------------------------------------------------------------------------------

[原创]java WEB学习笔记83:Hibernate学习之路---双向 1-n介绍,关键点解释,代码实现,set属性介绍(inverse,cascade ,order-by )

本博客的目的:①总结自己的学习过程,相当于学习笔记 ②将自己的经验分享给大家,相互学习,互相交流,不可商用 内容难免出现问题,欢迎指正,交流,探讨,可以留言,也可以通过以下方式联系. 本人互联网技术爱好者,互联网技术发烧友 微博:伊直都在0221 QQ:951226918 -----------------------------------------------------------------------------------------------------------------