Hibernate 5.2版本以前的Criteria查询
来源:互联网 发布:mac怎么切换输入法 编辑:程序博客网 时间:2024/06/04 19:53
Hibernate 5.2版本以前的Criteria查询
Query By Criteria特点:使用面向对象的方式查询package com.qfedu.hibernate.test;import java.util.List;import org.hibernate.Criteria;import org.hibernate.Session;import org.hibernate.Transaction;import org.hibernate.criterion.ProjectionList;import org.hibernate.criterion.Projections;import org.hibernate.criterion.Property;import org.hibernate.criterion.Restrictions;import org.junit.Test;import com.qfedu.hibernate.pojo.Customer;import com.qfedu.hibernate.pojo.Order;import com.qfedu.hibernate.utils.HibernateUtil;/** * * @author helen * 1、全表查询 * 2、条件查询 * 3、分页查询 * 4、查询排序 * 5、聚合查询 * 6、投影查询 */public class OBCTest { /** * 全表查询 */ @Test public void test1() { Session session = HibernateUtil.openSession(); Transaction tx = session.beginTransaction(); Criteria ce = session.createCriteria(Customer.class); List<Customer> list = ce.list(); for(Customer customer : list) { System.out.println(customer); } tx.commit(); session.close(); } /** * 条件查询 */ @Test public void test21() { Session session = HibernateUtil.openSession(); Transaction tx = session.beginTransaction(); Criteria ce = session.createCriteria(Order.class); ce.add(Restrictions.eq("orderno", "20170928001")); List<Order> list = ce.list(); for(Order order : list) { System.out.println(order); } tx.commit(); session.close(); } /** * 多条件查询 */ @Test public void test22() { Session session = HibernateUtil.openSession(); Transaction tx = session.beginTransaction(); Criteria ce = session.createCriteria(Order.class); //ce.add(Restrictions.eq("orderno", "20170928001")); ce.add(Restrictions.and( Restrictions.like("orderno", "%2017%"), Restrictions.like("productName", "%手机%") )); List<Order> list = ce.list(); for(Order order : list) { System.out.println(order); } tx.commit(); session.close(); } /** * 分页查询 */ @Test public void test3() { Session session = HibernateUtil.openSession(); Transaction tx = session.beginTransaction(); Criteria ce = session.createCriteria(Order.class); //分页 ce.setFirstResult(0); ce.setMaxResults(5); List<Order> list = ce.list(); for(Order order : list) { System.out.println(order); } tx.commit(); session.close(); } /** * 查询排序 */ @Test public void test4() { Session session = HibernateUtil.openSession(); Transaction tx = session.beginTransaction(); Criteria ce = session.createCriteria(Order.class); ce.addOrder(org.hibernate.criterion.Order.desc("id")); List<Order> list = ce.list(); for(Order order : list) { System.out.println(order); } tx.commit(); session.close(); } /** * 聚合排序 */ @Test public void test5() { Session session = HibernateUtil.openSession(); Transaction tx = session.beginTransaction(); Criteria ce = session.createCriteria(Order.class); /*ce.setProjection(Projections.rowCount()); Long count = (Long)ce.uniqueResult();*/ ce.setProjection(Projections.max("id")); Integer count = (Integer)ce.uniqueResult(); System.out.println(count); tx.commit(); session.close(); } /** * 投影查询 */ @Test public void test6() { Session session = HibernateUtil.openSession(); Transaction tx = session.beginTransaction(); Criteria ce = session.createCriteria(Order.class); ProjectionList pList = Projections.projectionList(); pList.add(Property.forName("orderno")); pList.add(Property.forName("productName")); ce.setProjection(pList); List<Object[]> list = ce.list(); for(Object[] order : list) { for(Object column : order) { System.out.print(column); System.out.print(" "); } System.out.println(); } tx.commit(); session.close(); }}
阅读全文
0 0
- Hibernate 5.2版本以前的Criteria查询
- Hibernate的Criteria查询
- Hibernate Criteria的嵌套查询
- hibernate的Criteria作连表查询
- Hibernate的Criteria查询总结
- 关于Hibernate的Criteria查询
- 了解hibernate的Criteria查询
- Hibernate的查询 标准(Criteria)查询
- Hibernate的查询 标准(Criteria)查询
- Hibernate的查询 标准(Criteria)查询
- (3) Hibernate的查询 标准(Criteria)查询
- 仿hibernate的Criteria 查询GHql
- Hibernate中Criteria的使用(条件查询)
- Hibernate 的查询语言 Criteria 和Query
- 05-Hibernate的条件查询Criteria
- Hibernate的Criteria和DetachedCriteria 查询
- Hibernate Criteria 关联查询
- hibernate 动态查询 Criteria
- CodeForces 571B Minimization(dp)
- 算法训练 特殊的数字四十
- 算法的时间复杂度和空间复杂度-总结
- 微信公众平台开发入门教程
- 如何在eclipse中开发flume
- Hibernate 5.2版本以前的Criteria查询
- 怎么配置提高mysql
- mysql学习记录
- 信息安全概论总结-1
- 汇编语言学习---寻址方式在结构化数据访问中的应用
- easyui datagrid数据表格(一)
- SpringCloud学习资料
- ssss
- UE4蓝图节点目录翻译【目录】--- Actor