首页 > Web开发 > 详细

Hibernate(八)

时间:2018-01-17 21:29:20      阅读:213      评论:0      收藏:0      [点我收藏+]

三套查询之Criteria查询

完全面向对象的,不需要写任可查询语句.

1.查询所有的学生

 1     //1.查询所有的学生
 2     @Test
 3     public void test1(){
 4         Criteria criteria = session.createCriteria(Student.class);
 5         List<Student> list = criteria.list();
 6         for (Student student : list) {
 7             System.out.println(student.getId()+student.getName());
 8         }
 9         
10         Criteria criteria2 = session.createCriteria("com.rong.entity.group.Student");
11         List<Student> list2 = criteria2.list();
12         for (Student student : list2) {
13             System.out.println(student.getId()+student.getName());
14         }
15     }

 2.添加查询条件

add(Criterion criterion) : 添加查询条件.
Criterion : 代表一个查询条件.
Restrictions工具类,专门负责生成查询条件对象,它把where部分都改成了静态方法。
sqlRestriction(String sql) : 生成查询条件的万能方法.
Property工具类,专门负责生成查询条件对象.
Propery.forName("属性名").xxx()

 1     //2.添加查询条件
 2     @Test
 3     public void test2(){
 4         //1.添加一个
 5         Criteria criteria = session.createCriteria(Student.class);
 6         criteria=criteria.add(Restrictions.like("name", "%ab%"));
 7         List<Student> list = criteria.list();
 8         for (Student student : list) {
 9             System.out.println(student.getId()+student.getName());
10         }
11         //2.添加多个
12         Criteria criteria2 = session.createCriteria(Student.class);
13         criteria2.add(Restrictions.like("name", "%a%"));
14         criteria2.add(Restrictions.between("java", 60, 100));
15         List<Student> list2 = criteria2.list();
16         for (Student student : list2) {
17             System.out.println(student.getId()+student.getName());
18         }
19         System.out.println("===================================");
20         Criteria criteria3 = session.createCriteria(Student.class);
21         criteria3.add(Property.forName("name").like("%p%"));
22         criteria3.add(Property.forName("math").between(85, 100));
23         List<Student> list3 = criteria3.list();
24         for (Student student : list3) {
25             System.out.println(student.getId()+student.getName()
26                                 +student.getMath());
27         }
28     }

3.添加自己的sql

Hibernate(八)

原文:https://www.cnblogs.com/57rongjielong/p/8305840.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!