QBC检索和本地SQL检索
2017-12-21 20:12
253 查看
QBC 查询就是通过使用 Hibernate 提供的 Query By Criteria API 来查询对象,这种 API 封装了 SQL 语句的动态拼装,对查询提供了更加面向对象的功能接口
本地SQL查询来完善HQL不能涵盖所有的查询特性
设置各种检索条件
执行检索
本地SQL查询来完善HQL不能涵盖所有的查询特性
步骤
创建criteria 对象设置各种检索条件
执行检索
and 与 or
@Test public void TestQbcAnd(){ Criteria criteria=session.createCriteria(Student.class); //使用conjunction来表示and,本身也是一个criterion对象 Conjunction cons=Restrictions.conjunction(); cons.add(Restrictions.like("name", "s", MatchMode.ANYWHERE)); Grade grade=new Grade(); //criteria 对象添加criterion 对象 criteria.add(cons); //System.out.println(criteria.list()); //使用disjunction表示or Disjunction dis=Restrictions.disjunction(); dis.add(Restrictions.eq("gender", "男")); dis.add(Restrictions.isNull("grade")); criteria.add(dis); System.out.println(criteria.list()); }
projection 统计查询
//统计查询 @Test public void TestQbcPrejunction(){ Criteria criteria=session.createCriteria(Student.class); //用projection来统计查询 criteria.setProjection(Projections.count("sid")); System.out.println(criteria.uniqueResult()); }
添加排序和设置翻页
//添加排序 @Test public void TestQbcOrder(){ Criteria criteria=session.createCriteria(Student.class); //用projection来统计查询 criteria.addOrder(Order.desc("name")); //设置翻页 int pageNo=2; int pageSize=5; criteria.setFirstResult((pageNo-1)*pageSize); criteria.setMaxResults(pageSize); System.out.println(criteria.list()); }
本地sql查询
hql和qbc有局限。这时候就需要利用原生sql语句@Test public void TestQbcSql(){ String sql="insert into student (name) Values('ok')"; SQLQuery sqlQuery=session.createSQLQuery(sql); sqlQuery.executeUpdate(); }
hql 也可以执行更新和删除
@Test public void TestQbcUpdate(){ String hql="delete from Student s where s.name='ok'"; Query query=session.createQuery(hql); query.executeUpdate(); }
相关文章推荐
- Hibernate---QBC检索与本地SQL检索
- Hibernate 检索查询的几种方式(HQL,QBC,本地SQL,集成Spring等)
- QBC检索和本地SQL检索
- Hibernate 检索查询的几种方式(HQL,QBC,本地SQL,集成Spring等)
- Hibernate之QBC检索和本地SQL检索
- Hibernate-HQL-QBC 检索-本地SQL 检索
- Hibernate深入理解----Hibernate 检索方式(HQL,QBC,本地SQL)
- Hibernate(十五):QBC检索、本地SQL检索和HQL删除
- Hibernate 检索查询的几种方式(HQL,QBC,本地SQL,集成Spring等)
- [原创]java WEB学习笔记92:Hibernate学习之路-- -QBC 检索和本地 SQL 检索:基本的QBC 查询,带 AND 和 OR 的QBC,统计查询,排序,分页
- 10.3 hibernate_查询方式(QBC查询、本地SQL查询)
- Hibernate学习之QBC和本地SQL查询
- QBC & 本地SQL 查询
- HQL检索方式、QBC检索方式、SQL检索方式
- HQL检索方式、QBC检索方式、SQL检索方式
- HQL检索方式、QBC检索方式、SQL检索方式
- Hibernate学习之路(十三):Hibernate中的QBC查询和本地sql操作
- HQL检索方式、QBC检索方式、SQL检索方式
- RO 本地sql动态指令检索使用方法
- 本地SQL检索方式