java hibernate 查询_(十)Hibernate 查询方式
发布日期:2022-02-03 15:25:00 浏览次数:5 分类:技术文章

本文共 22715 字,大约阅读时间需要 75 分钟。

所有项目导入对应的hibernate的jar包、mysql的jar包和添加每次都需要用到的HibernateUtil.java

第一节:Hibernate 查询方式简介

1,导航对象图查询方式;

2,OID 查询方式;

3,本地SQL 查询方式;

4,HQL 查询方式;

5,QBC 查询方式;(Query By Criteria)

第二节:本地SQL 查询方式

Student.java

1 packagecom.wishwzp.model;2

3 public classStudent {4

5 private intid;6 privateString name;7 private intage;8

9 public intgetId() {10 returnid;11 }12 public void setId(intid) {13 this.id =id;14 }15 publicString getName() {16 returnname;17 }18 public voidsetName(String name) {19 this.name =name;20 }21 public intgetAge() {22 returnage;23 }24 public void setAge(intage) {25 this.age =age;26 }27 @Override28 publicString toString() {29 return "Student [id=" + id + ", name=" + name + ", age=" + age + "]";30 }31

32 }

Student.hbm.xml

1 <?xml version="1.0"?>

2 "-//Hibernate/Hibernate Mapping DTD 3.0//EN"4 "http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">

5

6

7

8

9

10

11

12

13

14

15

16

17

hibernate.cfg.xml

1 <?xml version='1.0' encoding='utf-8'?>

2 "-//Hibernate/Hibernate Configuration DTD 3.0//EN"4 "http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">

5

6

7

8

9

10

11 com.mysql.jdbc.Driver

12 jdbc:mysql://localhost:3306/hibernate

13 root

14 123456

15

16

17

18 org.hibernate.dialect.MySQL5Dialect

19

20

21 true

22

23

24 update

25

26

27

28

29

30

31

32

StudentTest.java

1 packagecom.wishwzp.service;2

3

4 importjava.util.Iterator;5 importjava.util.List;6

7 importorg.hibernate.Query;8 importorg.hibernate.Session;9 importorg.hibernate.SessionFactory;10 importorg.junit.After;11 importorg.junit.Before;12 importorg.junit.Test;13

14 importcom.wishwzp.model.Student;15 importcom.wishwzp.util.HibernateUtil;16

17 public classStudentTest {18

19 private SessionFactory sessionFactory=HibernateUtil.getSessionFactory();20 privateSession session;21

22 @Before23 public void setUp() throwsException {24 session=sessionFactory.openSession(); //生成一个session

25 session.beginTransaction(); //开启事务

26 }27

28 @After29 public void tearDown() throwsException {30 session.getTransaction().commit(); //提交事务

31 session.close(); //关闭session

32 }33

34 @Test35 public voidtestSQLQuery() {36

37 }38

39

40 }

运行结果生成了数据库信息:

8f108cdd86df394ceae4dcecbc6c6249.png

43c4d865eef72c3a82e7703a8ba6304f.png

我们插入一些数据:

5882c6c59572518852544e171fe03e39.png

再次写代码查询里面的数据:

StudentTest.java

1 packagecom.wishwzp.service;2

3

4 importjava.util.Iterator;5 importjava.util.List;6

7 importorg.hibernate.Query;8 importorg.hibernate.Session;9 importorg.hibernate.SessionFactory;10 importorg.junit.After;11 importorg.junit.Before;12 importorg.junit.Test;13

14 importcom.wishwzp.model.Student;15 importcom.wishwzp.util.HibernateUtil;16

17 public classStudentTest {18

19 private SessionFactory sessionFactory=HibernateUtil.getSessionFactory();20 privateSession session;21

22 @Before23 public void setUp() throwsException {24 session=sessionFactory.openSession(); //生成一个session

25 session.beginTransaction(); //开启事务

26 }27

28 @After29 public void tearDown() throwsException {30 session.getTransaction().commit(); //提交事务

31 session.close(); //关闭session

32 }33

34 @Test35 public voidtestSQLQuery() {36 String sql="select * from t_student";37 Query query=session.createSQLQuery(sql).addEntity(Student.class);38 List studentList=query.list();39 Iterator it=studentList.iterator();40 while(it.hasNext()){41 Student s=(Student)it.next();42 System.out.println(s);43 }44 }45

46 }

运行结果显示:

32a57b859fedc6f784c55438d2528efc.png

我们写一个带参数的查询语句查询:

StudentTest.java

1 packagecom.wishwzp.service;2

3

4 importjava.util.Iterator;5 importjava.util.List;6

7 importorg.hibernate.Query;8 importorg.hibernate.Session;9 importorg.hibernate.SessionFactory;10 importorg.junit.After;11 importorg.junit.Before;12 importorg.junit.Test;13

14 importcom.wishwzp.model.Student;15 importcom.wishwzp.util.HibernateUtil;16

17 public classStudentTest {18

19 private SessionFactory sessionFactory=HibernateUtil.getSessionFactory();20 privateSession session;21

22 @Before23 public void setUp() throwsException {24 session=sessionFactory.openSession(); //生成一个session

25 session.beginTransaction(); //开启事务

26 }27

28 @After29 public void tearDown() throwsException {30 session.getTransaction().commit(); //提交事务

31 session.close(); //关闭session

32 }33

34 @Test35 public voidtestSQLQuery2() {36 String sql="select * from t_student where stuName like :stuName and stuAge=:stuAge";37 Query query=session.createSQLQuery(sql).addEntity(Student.class);38 query.setString("stuName", "张%");39 query.setInteger("stuAge", 10);40 List studentList=query.list();41 Iterator it=studentList.iterator();42 while(it.hasNext()){43 Student s=(Student)it.next();44 System.out.println(s);45 }46 }47

48 }

运行结果显示:

2d2e677c50f5acd8a510ff71a7466b69.png

第三节:HQL 查询方式

HQL(Hibernate Query Language)是面向对象的查询语言;是使用最广的一种查询方式;

1,普通查询;

2,带条件查询;

3,使用别名;

4,对结果排序;

5,分页查询;

6,查询单个对象;

7,链式写法;

1,普通查询;

StudentTest.java

1 packagecom.wishwzp.service;2

3

4 importjava.util.Iterator;5 importjava.util.List;6

7 importorg.hibernate.Query;8 importorg.hibernate.Session;9 importorg.hibernate.SessionFactory;10 importorg.junit.After;11 importorg.junit.Before;12 importorg.junit.Test;13

14 importcom.wishwzp.model.Student;15 importcom.wishwzp.util.HibernateUtil;16

17 public classStudentTest {18

19 private SessionFactory sessionFactory=HibernateUtil.getSessionFactory();20 privateSession session;21

22 @Before23 public void setUp() throwsException {24 session=sessionFactory.openSession(); //生成一个session

25 session.beginTransaction(); //开启事务

26 }27

28 @After29 public void tearDown() throwsException {30 session.getTransaction().commit(); //提交事务

31 session.close(); //关闭session

32 }33

34 @Test35 public voidtestHQLQuery() {36 String hql="from Student";37 Query query=session.createQuery(hql);38 List studentList=(List)query.list();39 Iterator it=studentList.iterator();40 while(it.hasNext()){41 Student s=(Student)it.next();42 System.out.println(s);43 }44 }45

46 }

运行结果显示:

d76fabb08a9af7a5800193e3e8132b5f.png

2,带条件查询;

StudentTest.java

1 packagecom.wishwzp.service;2

3

4 importjava.util.Iterator;5 importjava.util.List;6

7 importorg.hibernate.Query;8 importorg.hibernate.Session;9 importorg.hibernate.SessionFactory;10 importorg.junit.After;11 importorg.junit.Before;12 importorg.junit.Test;13

14 importcom.wishwzp.model.Student;15 importcom.wishwzp.util.HibernateUtil;16

17 public classStudentTest {18

19 private SessionFactory sessionFactory=HibernateUtil.getSessionFactory();20 privateSession session;21

22 @Before23 public void setUp() throwsException {24 session=sessionFactory.openSession(); //生成一个session

25 session.beginTransaction(); //开启事务

26 }27

28 @After29 public void tearDown() throwsException {30 session.getTransaction().commit(); //提交事务

31 session.close(); //关闭session

32 }33

34 @Test35 public voidtestHQLQuery2() {36 String hql="from Student where name like :stuName and age=:stuAge";37 Query query=session.createQuery(hql);38 query.setString("stuName", "张%");39 query.setInteger("stuAge", 10);40 List studentList=(List)query.list();41 Iterator it=studentList.iterator();42 while(it.hasNext()){43 Student s=(Student)it.next();44 System.out.println(s);45 }46 }47

48 }

运行结果显示:

Hibernate: select student0_.stuId as stuId1_0_, student0_.stuName as stuName2_0_, student0_.stuAge as stuAge3_0_ from t_student student0_ where (student0_.stuName like ?) and student0_.stuAge=?

Student [id=1, name=张三, age=10]

3,使用别名;

StudentTest.java

1 packagecom.wishwzp.service;2

3

4 importjava.util.Iterator;5 importjava.util.List;6

7 importorg.hibernate.Query;8 importorg.hibernate.Session;9 importorg.hibernate.SessionFactory;10 importorg.junit.After;11 importorg.junit.Before;12 importorg.junit.Test;13

14 importcom.wishwzp.model.Student;15 importcom.wishwzp.util.HibernateUtil;16

17 public classStudentTest {18

19 private SessionFactory sessionFactory=HibernateUtil.getSessionFactory();20 privateSession session;21

22 @Before23 public void setUp() throwsException {24 session=sessionFactory.openSession(); //生成一个session

25 session.beginTransaction(); //开启事务

26 }27

28 @After29 public void tearDown() throwsException {30 session.getTransaction().commit(); //提交事务

31 session.close(); //关闭session

32 }33

34 @Test35 public voidtestHQLQuery3() {36 String hql="from Student as s where s.name like :stuName and s.age=:stuAge";37 Query query=session.createQuery(hql);38 query.setString("stuName", "张%");39 query.setInteger("stuAge", 10);40 List studentList=(List)query.list();41 Iterator it=studentList.iterator();42 while(it.hasNext()){43 Student s=(Student)it.next();44 System.out.println(s);45 }46 }47

48

49 }

运行结果显示:

Hibernate: select student0_.stuId as stuId1_0_, student0_.stuName as stuName2_0_, student0_.stuAge as stuAge3_0_ from t_student student0_ where (student0_.stuName like ?) and student0_.stuAge=?

Student [id=1, name=张三, age=10]

4,对结果排序;

StudentTest.java

1 packagecom.wishwzp.service;2

3

4 importjava.util.Iterator;5 importjava.util.List;6

7 importorg.hibernate.Query;8 importorg.hibernate.Session;9 importorg.hibernate.SessionFactory;10 importorg.junit.After;11 importorg.junit.Before;12 importorg.junit.Test;13

14 importcom.wishwzp.model.Student;15 importcom.wishwzp.util.HibernateUtil;16

17 public classStudentTest {18

19 private SessionFactory sessionFactory=HibernateUtil.getSessionFactory();20 privateSession session;21

22 @Before23 public void setUp() throwsException {24 session=sessionFactory.openSession(); //生成一个session

25 session.beginTransaction(); //开启事务

26 }27

28 @After29 public void tearDown() throwsException {30 session.getTransaction().commit(); //提交事务

31 session.close(); //关闭session

32 }33

34 @Test35 public voidtestHQLQuery4() {36 String hql="from Student order by age desc";37 Query query=session.createQuery(hql);38 List studentList=(List)query.list();39 Iterator it=studentList.iterator();40 while(it.hasNext()){41 Student s=(Student)it.next();42 System.out.println(s);43 }44 }45

46

47 }

运行结果显示:

Hibernate: select student0_.stuId as stuId1_0_, student0_.stuName as stuName2_0_, student0_.stuAge as stuAge3_0_ from t_student student0_ order by student0_.stuAge desc

Student [id=2, name=李四, age=15]

Student [id=3, name=王五, age=13]

Student [id=1, name=张三, age=10]

5,分页查询;

StudentTest.java

1 packagecom.wishwzp.service;2

3

4 importjava.util.Iterator;5 importjava.util.List;6

7 importorg.hibernate.Query;8 importorg.hibernate.Session;9 importorg.hibernate.SessionFactory;10 importorg.junit.After;11 importorg.junit.Before;12 importorg.junit.Test;13

14 importcom.wishwzp.model.Student;15 importcom.wishwzp.util.HibernateUtil;16

17 public classStudentTest {18

19 private SessionFactory sessionFactory=HibernateUtil.getSessionFactory();20 privateSession session;21

22 @Before23 public void setUp() throwsException {24 session=sessionFactory.openSession(); //生成一个session

25 session.beginTransaction(); //开启事务

26 }27

28 @After29 public void tearDown() throwsException {30 session.getTransaction().commit(); //提交事务

31 session.close(); //关闭session

32 }33

34 @Test35 public voidtestHQLQuery5() {36 String hql="from Student";37 Query query=session.createQuery(hql);38 query.setFirstResult(1);39 query.setMaxResults(2);40 List studentList=(List)query.list();41 Iterator it=studentList.iterator();42 while(it.hasNext()){43 Student s=(Student)it.next();44 System.out.println(s);45 }46 }47

48 }

运行结果显示:

Hibernate: select student0_.stuId as stuId1_0_, student0_.stuName as stuName2_0_, student0_.stuAge as stuAge3_0_ from t_student student0_ limit ?, ?

Student [id=2, name=李四, age=15]

Student [id=3, name=王五, age=13]

6,查询单个对象;

StudentTest.java

1 packagecom.wishwzp.service;2

3

4 importjava.util.Iterator;5 importjava.util.List;6

7 importorg.hibernate.Query;8 importorg.hibernate.Session;9 importorg.hibernate.SessionFactory;10 importorg.junit.After;11 importorg.junit.Before;12 importorg.junit.Test;13

14 importcom.wishwzp.model.Student;15 importcom.wishwzp.util.HibernateUtil;16

17 public classStudentTest {18

19 private SessionFactory sessionFactory=HibernateUtil.getSessionFactory();20 privateSession session;21

22 @Before23 public void setUp() throwsException {24 session=sessionFactory.openSession(); //生成一个session

25 session.beginTransaction(); //开启事务

26 }27

28 @After29 public void tearDown() throwsException {30 session.getTransaction().commit(); //提交事务

31 session.close(); //关闭session

32 }33

34 @Test35 public voidtestHQLQuery6() {36 String hql="from Student";37 Query query=session.createQuery(hql);38 query.setFirstResult(1);39 query.setMaxResults(1);40 Student student=(Student)query.uniqueResult();41 System.out.println(student);42 }43

44 }

运行结果显示:

Hibernate: select student0_.stuId as stuId1_0_, student0_.stuName as stuName2_0_, student0_.stuAge as stuAge3_0_ from t_student student0_ limit ?, ?

Student [id=2, name=李四, age=15]

7,链式写法;

StudentTest.java

1 packagecom.wishwzp.service;2

3

4 importjava.util.Iterator;5 importjava.util.List;6

7 importorg.hibernate.Query;8 importorg.hibernate.Session;9 importorg.hibernate.SessionFactory;10 importorg.junit.After;11 importorg.junit.Before;12 importorg.junit.Test;13

14 importcom.wishwzp.model.Student;15 importcom.wishwzp.util.HibernateUtil;16

17 public classStudentTest {18

19 private SessionFactory sessionFactory=HibernateUtil.getSessionFactory();20 privateSession session;21

22 @Before23 public void setUp() throwsException {24 session=sessionFactory.openSession(); //生成一个session

25 session.beginTransaction(); //开启事务

26 }27

28 @After29 public void tearDown() throwsException {30 session.getTransaction().commit(); //提交事务

31 session.close(); //关闭session

32 }33

34 @Test35 public voidtestHQLQuery7() {36 String hql="from Student as s where s.name like :stuName and s.age=:stuAge";37 Query query=session.createQuery(hql);38 List studentList=(List)query39 .setString("stuName", "张%")40 .setInteger("stuAge", 10)41 .list();42 Iterator it=studentList.iterator();43 while(it.hasNext()){44 Student s=(Student)it.next();45 System.out.println(s);46 }47 }48 }

运行结果显示:

Hibernate: select student0_.stuId as stuId1_0_, student0_.stuName as stuName2_0_, student0_.stuAge as stuAge3_0_ from t_student student0_ where (student0_.stuName like ?) and student0_.stuAge=?

Student [id=1, name=张三, age=10]

第四节:QBC 查询方式

QBC 查询方式(Query By Criteria)是用一套接口来实现的查询方式;

1,普通查询;

2,带条件查询;

3,对结果排序;

4,分页查询;

5,查询单个对象;

6,链式写法;

1,普通查询;

StudentTest.java

1 packagecom.wishwzp.service;2

3

4 importjava.util.Iterator;5 importjava.util.List;6

7 importorg.hibernate.Criteria;8 importorg.hibernate.Query;9 importorg.hibernate.Session;10 importorg.hibernate.SessionFactory;11 importorg.hibernate.criterion.Criterion;12 importorg.hibernate.criterion.Order;13 importorg.hibernate.criterion.Restrictions;14 importorg.junit.After;15 importorg.junit.Before;16 importorg.junit.Test;17

18 importcom.wishwzp.model.Student;19 importcom.wishwzp.util.HibernateUtil;20

21 public classStudentTest {22

23 private SessionFactory sessionFactory=HibernateUtil.getSessionFactory();24 privateSession session;25

26 @Before27 public void setUp() throwsException {28 session=sessionFactory.openSession(); //生成一个session

29 session.beginTransaction(); //开启事务

30 }31

32 @After33 public void tearDown() throwsException {34 session.getTransaction().commit(); //提交事务

35 session.close(); //关闭session

36 }37

38

39 @Test40 public voidtestQBCQuery1(){41 Criteria criteria=session.createCriteria(Student.class);42 List studentList=criteria.list();43 Iterator it=studentList.iterator();44 while(it.hasNext()){45 Student s=(Student)it.next();46 System.out.println(s);47 }48 }49

50 }

运行结果显示:

Hibernate: select this_.stuId as stuId1_0_0_, this_.stuName as stuName2_0_0_, this_.stuAge as stuAge3_0_0_ from t_student this_

Student [id=1, name=张三, age=10]

Student [id=2, name=李四, age=15]

Student [id=3, name=王五, age=13]

2,带条件查询;

StudentTest.java

1 packagecom.wishwzp.service;2

3

4 importjava.util.Iterator;5 importjava.util.List;6

7 importorg.hibernate.Criteria;8 importorg.hibernate.Query;9 importorg.hibernate.Session;10 importorg.hibernate.SessionFactory;11 importorg.hibernate.criterion.Criterion;12 importorg.hibernate.criterion.Order;13 importorg.hibernate.criterion.Restrictions;14 importorg.junit.After;15 importorg.junit.Before;16 importorg.junit.Test;17

18 importcom.wishwzp.model.Student;19 importcom.wishwzp.util.HibernateUtil;20

21 public classStudentTest {22

23 private SessionFactory sessionFactory=HibernateUtil.getSessionFactory();24 privateSession session;25

26 @Before27 public void setUp() throwsException {28 session=sessionFactory.openSession(); //生成一个session

29 session.beginTransaction(); //开启事务

30 }31

32 @After33 public void tearDown() throwsException {34 session.getTransaction().commit(); //提交事务

35 session.close(); //关闭session

36 }37

38 @Test39 public voidtestQBCQuery2(){40 Criteria criteria=session.createCriteria(Student.class);41 Criterion c1=Restrictions.like("name", "张%");42 Criterion c2=Restrictions.eq("age", 10);43 criteria.add(c1);44 criteria.add(c2);45 List studentList=criteria.list();46 Iterator it=studentList.iterator();47 while(it.hasNext()){48 Student s=(Student)it.next();49 System.out.println(s);50 }51 }52

53 }

运行结果显示:

Hibernate: select this_.stuId as stuId1_0_0_, this_.stuName as stuName2_0_0_, this_.stuAge as stuAge3_0_0_ from t_student this_ where this_.stuName like ? and this_.stuAge=?

Student [id=1, name=张三, age=10]

3,对结果排序;

StudentTest.java

1 packagecom.wishwzp.service;2

3

4 importjava.util.Iterator;5 importjava.util.List;6

7 importorg.hibernate.Criteria;8 importorg.hibernate.Query;9 importorg.hibernate.Session;10 importorg.hibernate.SessionFactory;11 importorg.hibernate.criterion.Criterion;12 importorg.hibernate.criterion.Order;13 importorg.hibernate.criterion.Restrictions;14 importorg.junit.After;15 importorg.junit.Before;16 importorg.junit.Test;17

18 importcom.wishwzp.model.Student;19 importcom.wishwzp.util.HibernateUtil;20

21 public classStudentTest {22

23 private SessionFactory sessionFactory=HibernateUtil.getSessionFactory();24 privateSession session;25

26 @Before27 public void setUp() throwsException {28 session=sessionFactory.openSession(); //生成一个session

29 session.beginTransaction(); //开启事务

30 }31

32 @After33 public void tearDown() throwsException {34 session.getTransaction().commit(); //提交事务

35 session.close(); //关闭session

36 }37

38

39 @Test40 public voidtestQBCQuery3(){41 Criteria criteria=session.createCriteria(Student.class);42 criteria.addOrder(Order.desc("age"));43 List studentList=criteria.list();44 Iterator it=studentList.iterator();45 while(it.hasNext()){46 Student s=(Student)it.next();47 System.out.println(s);48 }49 }50

51 }

运行结果显示:

Hibernate: select this_.stuId as stuId1_0_0_, this_.stuName as stuName2_0_0_, this_.stuAge as stuAge3_0_0_ from t_student this_ order by this_.stuAge desc

Student [id=2, name=李四, age=15]

Student [id=3, name=王五, age=13]

Student [id=1, name=张三, age=10]

4,分页查询;

StudentTest.java

1 packagecom.wishwzp.service;2

3

4 importjava.util.Iterator;5 importjava.util.List;6

7 importorg.hibernate.Criteria;8 importorg.hibernate.Query;9 importorg.hibernate.Session;10 importorg.hibernate.SessionFactory;11 importorg.hibernate.criterion.Criterion;12 importorg.hibernate.criterion.Order;13 importorg.hibernate.criterion.Restrictions;14 importorg.junit.After;15 importorg.junit.Before;16 importorg.junit.Test;17

18 importcom.wishwzp.model.Student;19 importcom.wishwzp.util.HibernateUtil;20

21 public classStudentTest {22

23 private SessionFactory sessionFactory=HibernateUtil.getSessionFactory();24 privateSession session;25

26 @Before27 public void setUp() throwsException {28 session=sessionFactory.openSession(); //生成一个session

29 session.beginTransaction(); //开启事务

30 }31

32 @After33 public void tearDown() throwsException {34 session.getTransaction().commit(); //提交事务

35 session.close(); //关闭session

36 }37

38 @Test39 public voidtestQBCQuery4(){40 Criteria criteria=session.createCriteria(Student.class);41 criteria.setFirstResult(2);42 criteria.setMaxResults(2);43 List studentList=criteria.list();44 Iterator it=studentList.iterator();45 while(it.hasNext()){46 Student s=(Student)it.next();47 System.out.println(s);48 }49 }50

51 }

运行结果显示:

Hibernate: select this_.stuId as stuId1_0_0_, this_.stuName as stuName2_0_0_, this_.stuAge as stuAge3_0_0_ from t_student this_ limit ?, ?

Student [id=3, name=王五, age=13]

5,查询单个对象;

StudentTest.java

1 packagecom.wishwzp.service;2

3

4 importjava.util.Iterator;5 importjava.util.List;6

7 importorg.hibernate.Criteria;8 importorg.hibernate.Query;9 importorg.hibernate.Session;10 importorg.hibernate.SessionFactory;11 importorg.hibernate.criterion.Criterion;12 importorg.hibernate.criterion.Order;13 importorg.hibernate.criterion.Restrictions;14 importorg.junit.After;15 importorg.junit.Before;16 importorg.junit.Test;17

18 importcom.wishwzp.model.Student;19 importcom.wishwzp.util.HibernateUtil;20

21 public classStudentTest {22

23 private SessionFactory sessionFactory=HibernateUtil.getSessionFactory();24 privateSession session;25

26 @Before27 public void setUp() throwsException {28 session=sessionFactory.openSession(); //生成一个session

29 session.beginTransaction(); //开启事务

30 }31

32 @After33 public void tearDown() throwsException {34 session.getTransaction().commit(); //提交事务

35 session.close(); //关闭session

36 }37

38 @Test39 public voidtestQBCQuery5(){40 Criteria criteria=session.createCriteria(Student.class);41 criteria.setFirstResult(2);42 criteria.setMaxResults(1);43 Student student=(Student)criteria.uniqueResult();44 System.out.println(student);45 }46

47 }

运行结果显示:

Hibernate: select this_.stuId as stuId1_0_0_, this_.stuName as stuName2_0_0_, this_.stuAge as stuAge3_0_0_ from t_student this_ limit ?, ?

Student [id=3, name=王五, age=13]

6,链式写法;

StudentTest.java

1 packagecom.wishwzp.service;2

3

4 importjava.util.Iterator;5 importjava.util.List;6

7 importorg.hibernate.Criteria;8 importorg.hibernate.Query;9 importorg.hibernate.Session;10 importorg.hibernate.SessionFactory;11 importorg.hibernate.criterion.Criterion;12 importorg.hibernate.criterion.Order;13 importorg.hibernate.criterion.Restrictions;14 importorg.junit.After;15 importorg.junit.Before;16 importorg.junit.Test;17

18 importcom.wishwzp.model.Student;19 importcom.wishwzp.util.HibernateUtil;20

21 public classStudentTest {22

23 private SessionFactory sessionFactory=HibernateUtil.getSessionFactory();24 privateSession session;25

26 @Before27 public void setUp() throwsException {28 session=sessionFactory.openSession(); //生成一个session

29 session.beginTransaction(); //开启事务

30 }31

32 @After33 public void tearDown() throwsException {34 session.getTransaction().commit(); //提交事务

35 session.close(); //关闭session

36 }37

38 @Test39 public voidtestQBCQuery6(){40 Criteria criteria=session.createCriteria(Student.class);41 List studentList=criteria42 .setFirstResult(0)43 .setMaxResults(2)44 .list();45 Iterator it=studentList.iterator();46 while(it.hasNext()){47 Student s=(Student)it.next();48 System.out.println(s);49 }50 }51

52 }

运行结果显示:

Hibernate: select this_.stuId as stuId1_0_0_, this_.stuName as stuName2_0_0_, this_.stuAge as stuAge3_0_0_ from t_student this_ limit ?

Student [id=1, name=张三, age=10]

Student [id=2, name=李四, age=15]

END

转载地址:https://blog.csdn.net/weixin_35600779/article/details/114453730 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:python第3章答案_【Python基础教程】第3章 字符串
下一篇:java环形队列_环形队列高效触发大量超时任务的算法实现

发表评论

最新留言

第一次来,支持一个
[***.219.124.196]2024年04月15日 15时38分23秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

推荐文章

大疆机甲大师教育机器人Python API中文化之四五:云台灯效,指定序号 2019-04-26
大疆机甲大师教育机器人Python API中文化之六:关灯 2019-04-26
“中文编程”知乎专栏两岁了——山雨欲来风满楼 2019-04-26
大疆机甲大师Python API之七:做个闹钟 2019-04-26
【意外走向】大疆机甲大师Python API之八:计时——为性能测试展开1000次循环 2019-04-26
RFC#2457——Rust 语言支持非 ASCII 码标识符在 GitHub 引发的激辩(一) 2019-04-26
RFC#2457——Rust 语言选择支持非 ASCII 码标识符在 GitHub 引发的激辩(二) 2019-04-26
”为什么有这么多人执着于中文编程?”回答两千赞留念及回应 2019-04-26
【家务】盘点小孩玩具零件缺失情况 2019-04-26
开发中文 API 的一些策略 2019-04-26
从日本编程书籍《我的第一本编程书》中译版看中文例程如何扬长避短——标识符(一) 2019-04-26
中文命名标识符如何区分类型和变量 2019-04-26
编程术语成系统中文化的意义 2019-04-26
草蟒 Python 中文 API 与 IDE 支持尝鲜 2019-04-26
一种改进中文 API 可读性的方法:参数不限于在末尾 2019-04-26
中文编程开发工具的生存模式探讨 2019-04-26
写给木兰编程语言研发团队的公开信 2019-04-26
为什么要急着为「木兰」编程语言贴上“造假”的标签? 2019-04-26
编程语言国产化的关键一战——对肆意污名化“木兰”编程语言说“不” 2019-04-26
各大媒体对「木兰」编程语言的不当言论盘点 2019-04-26