QBC

Hibernate的查询分页 by Criteria

ぐ巨炮叔叔 提交于 2019-11-30 16:08:07
当初学Hibernate的时候,带我的那个人说要学好Hibernate的hql语句,没有就没有QBC当做一会事儿 后来做项目的时候发现QBC还是蛮强大的 通常做分页都会讲一些数据封装到PageBean中, private int currentPage;//定义当前页 private int pageSize;//定义页面大小 private int total;//总纪录数 private List rows;//返回数据 private DetachedCriteria detachedCriteria;//Criteria离线查询接口 private int start//查询的起始值 将get的返回值设置为 (currentPage-1)*pageSize 在Dao层添加实现 public void pageQuery(PageBean pageBean){ //在请求页面发起时 前端会传来一个 页数 页面大小和相关的查询条件设置给pageBean //我们可以首先获取前端传来的参数 int currentPage=pageBean.getCurrentPage(); int pageSize=pageBean.getPageSize(); DetachedCriteria detachedCriteria=pageBean.getDetachedCriteria(); /

Hibernate QBC语言

二次信任 提交于 2019-11-27 09:14:23
节 8.01 基本查询 以下是HQL/QBC/Native SQL三种查询策略 HQL策略: Java代码 session.createQuery( "FROM Category c where c.name like 'Laptop%'" ); QBC策略: Java代码 session.createCriteria(Category. class ).add(Restrictions.like( "name" , "Laptop%" )); Native SQL策略 Java代码 session.createSQLQuery( "select {c.*} from CATEGORY {c} where NAME like 'Laptop%'" ). addEntity( "c" ,Category. class ); 节 8.02 分页查询 Java代码 Criteria criteria = session.createCriteria(Category. class ) .add(Restrictions.like( "name" , "Laptop%" )); criteria.addOrder(Order.asc( "name" )); criteria.setFirstResult(); //初始行数 criteria.setMaxResults( 20 ); /