什么是QBc:
QBC(Query By Criteria)按条件查询,通过Criteria构造查询条件,即通过调用Criteria的api实现各种查询。

通过Criteria对象拼装 查询条件,调用Criteria的add方法拼接查询条件,最终hibernate通过criteria对象自动生成sql语句。

package com.zking.crm.dao.impl;import java.util.List;import org.hibernate.Criteria;
import org.hibernate.Session;
import org.hibernate.Transaction;
import org.hibernate.criterion.DetachedCriteria;
import org.hibernate.criterion.Projections;import com.zking.crm.dao.CstCustomerDao;
import com.zking.crm.domain.CstCustomer;
import com.zking.crm.uilt.hibernateUtli;public class CstCustomerDaoImpl implements CstCustomerDao {// @Override// public void insert(CstCustomer cstCustomer) {// // TODO Auto-generated method stub// Session session = hibernateUtli.openSession();// 创建一个session// Transaction beginTransaction = session.beginTransaction();// try {// session.save(cstCustomer);// beginTransaction.commit();// 提交事务// } catch (Exception e) {// // TODO: handle exception// e.printStackTrace();// beginTransaction.rollback();// 会滚事务//// } finally {// session.close();// }// }// 优化以后的增加基本客户信息@Overridepublic void insert(CstCustomer cstCustomer) {Session session = hibernateUtli.getCurrentSession();// 获取与当前线程绑定的sessionsession.save(cstCustomer);}@Overridepublic Long findCustomerCount(DetachedCriteria detachedCriteria) {// TODO Auto-generated method stubSession session = hibernateUtli.openSession();Criteria criteria = detachedCriteria.getExecutableCriteria(session);// 转成可执行的对象criteria.setProjection(Projections.rowCount());// select Count(*) from 表名Long totla = (Long) criteria.uniqueResult();// 反回return totla;}@Overridepublic List<CstCustomer> findCustomerList(DetachedCriteria detachedCriteria, int firstResult, int maxResults) {// TODO Auto-generated method stubSession session = hibernateUtli.openSession();Criteria criteria = detachedCriteria.getExecutableCriteria(session);// 转成可执行的对象criteria.setFirstResult(firstResult);// 设置其实记录criteria.setMaxResults(maxResults);// 设置每页显示多少条return criteria.list();}}

hibernate的QBC相关推荐

  1. hibernate EJBQL QBC QBE

    在功能方面是本地SQL>HQL>EJBQL>QBC>QBE 假想一个BBS. 板块: package com.bjsxt.hibernate; import javax.per ...

  2. Hibernate 学习笔记(二)—— Hibernate HQL查询和 QBC 查询

    目录 一.Hibernate 的 HQL 查询 1.1.查询所有数据 1.2.条件查询 1.3.排序查询 1.4.统计查询 1.5.分页查询 1.6.投影查询 二.Hibernate 的 QBC 查询 ...

  3. 【Java中级】8.5 SSH之Hibernate框架(五)——关于Criteria(QBC)过时的补充

    1.0 5.2版本之后过时 Criteria类涉及Hibernate中QBC查询语句的使用. 以下内容是官方API文档关于Criteria方面的中文翻译. 详细参考文章:Hibernate5.2之后Q ...

  4. Hibernate学习之路(十三):Hibernate中的QBC查询和本地sql操作

    什么是hibernate的QBC查询 QBC 查询就是通过使用 Hibernate 提供的 Query By Criteria API 来查询对象,这种 API 封装了 SQL 语句的动态拼装,对查询 ...

  5. QBC(Query By Criteria) QBE (Query By Example)

    QBC  参考:(Hibernate的QBC查询) //is empty and is not empty @Testpublic void testQBC(){Session session = s ...

  6. Hibernate从0开始,入门到放弃,一文上手

    索引 背景 Hibernate介绍 环境搭建 第一个程序 单例模式解决频繁创建.关闭SessionFactory 继续CRUD:根据id查询 继续CRUD:修改 继续CRUD:删除 继续CRUD:sa ...

  7. MyBatis和ORM的区别以及Mybatis和Hibernate的区别

    ORM: 即Object Relation Mapping,即对象关联映射.所以ORM就是将Java中的对象和数据库中的表关联对应起来. 思考一下Mybatis,Mybatis相当于将mapper中的 ...

  8. 框架-Hibernate

    Hibernate第一天 1. 搭建Hibernate环境 搭建Hibernate开发环境 数据库: DROP TABLE IF EXISTS `cst_customer`; CREATE TABLE ...

  9. java web dao_JavaWeb项目,DAO应该怎么写?

    有一张字段足够多的表,要对它进行各种各样的查询: 根据字段A根据字段B,或者根据字段A和B,或者再加上字段C,然后可能还要加上分页,排序等等的逻辑. 现在的项目的DAO层为了满足上面这些需要出现了很多 ...

最新文章

  1. 【camera】自动泊车-基于深度学习的视觉车位检测项目(课程设计--训练代码、测试代码、部署demo)(2)
  2. html5--6-59 其他常用CSS属性
  3. 送给产品经理的一段代码 (!(~+[]) + {})[--[~+][+[]] * [~+[]] + ~~!+[]] + ({} + [])[[~!+[]] ...
  4. 看TensorFlow如何玩转深度学习
  5. 写给工程师的10条精进原则
  6. Python | 使用matplotlib.pyplot创建线图
  7. 九宫格抽奖V1.3.26正版
  8. 人工智能将是人类最后的需要 | 大咖来了
  9. java网络编程,HttpClient 应用~
  10. vs2010报错:转换到 COFF 期间失败: 文件无效或损坏 解决方法
  11. 光猫修改html灰色选项,电信光猫怎么设置(修改)wifi密码?
  12. 计算机多媒体技术的主要特征是什么,计算机多媒体技术主要特征
  13. 编写程序 - 打印购物小票.
  14. Echarts快速入门
  15. 尤雨溪:先学算法,再学源码!
  16. 案例:可视化分析 + 预测模型,锁定影响产品良率的根因!
  17. win10如何停止自动更新
  18. OpenCV开发笔记(四十四):红胖子8分钟带你深入了解霍夫圆变换(图文并茂+浅显易懂+程序源码)
  19. python correlate_关于numpy互相关函数np.correlate的一点疑问
  20. Python | datetime与time模块

热门文章

  1. 【产业互联网周报】财报季:阿里云上半年营收245.6亿,市场份额连续四个季度增长,还将全面服务北京城市大脑建设...
  2. 微信公众平台开发(23) 聊天机器人功能开发
  3. 原根的存在性 相关定理 (一)
  4. 生成视频的活动要求在edius里如何设置
  5. Java中集合的基本使用
  6. 时间序列绘制ACF与PACF图像
  7. cu3ox软件去除水印的方法
  8. springside showcase mysql_搭建SpringSide示例showcase的eclipse运行环境
  9. Python中 redis StrictRedis对象操作string类型
  10. 【人工智能】人工智能资料汇总(百度云盘)