Hibernate查询

来源:互联网 发布:java招聘广州 编辑:程序博客网 时间:2024/05/18 00:26

hibernate之条件查询



基本查询的十种方式

package com.zking.test;import java.util.List;import org.hibernate.Session;import org.hibernate.SessionFactory;import org.hibernate.Transaction;import org.hibernate.cfg.Configuration;import org.junit.After;import org.junit.Before;import org.junit.Test;import com.zking.entity.Person;public class TestHQL {private SessionFactory sessionFactory;private Session session;private Transaction transaction;@Beforepublic void before(){Configuration configuration=new Configuration().configure();sessionFactory = configuration.buildSessionFactory();session = sessionFactory.openSession();transaction = session.beginTransaction();}@Afterpublic void after(){transaction.commit();session.close();sessionFactory.close();}@Testpublic void testhql(){//查询所有List<Person> persons=session.createQuery("from Person").list();for (Person person : persons) {System.out.println(person);}}public void testhql2(){//查询某一列List<String> names=session.createQuery("select pname from Person").list();for (String string : names) {System.out.println(string);}}public void testhql3(){//查询某几列    查询结果来源于多张表List<Object[]> objects=session.createQuery("select pname,page from Person").list();for (Object[] objects2 : objects) {String pname=objects2[0].toString();int page=Integer.parseInt(objects2[1].toString());System.out.println(pname+" "+page);}}public void testhql4(){//构造查询List<Person> persons=session.createQuery("select new Person(pname,page) from Person").list();for (Person person : persons) {System.out.println(person);}}public void testhql5(){//带条件查询//查询年龄在15 到 60 之间List<Person> persons=session.createQuery("from Person where page between ? and ?").setInteger(0, 15).setInteger(1, 60).list();List<Person> persons=session.createQuery("from Person where page between :min and :max").setInteger("min", 15).setInteger("max", 60).list();for (Person person : persons) {System.out.println(person);}}public void testhql6(){//聚合函数int page=Integer.parseInt(session.createQuery("select max(page) from Person").uniqueResult().toString());System.out.println(page);}public void testhql7(){//分页int pageNo=2;int pageSize=2;List<Person> persons=session.createQuery("from Person").setFirstResult((pageNo-1)*pageSize).setMaxResults(pageSize).list();for (Person person : persons) {System.out.println(person);}}public void testhql8(){//排序//年龄List<Person> persons=session.createQuery("from Person order by page desc").list();for (Person person : persons) {System.out.println(person);}}public void testhql9(){//对象导航List<Person> persons=session.createQuery("from Person p where p.city.caddress like '湖南省'").list();for(Person person : persons){System.out.println(person);}}}
安装MySQL5.5.28图解教程的网址:https://jingyan.baidu.com/album/ed2a5d1f4968c909f6be179f.html?picindex=2


原创粉丝点击