Hibernate 之 Criteria 自我学习
来源:互联网 发布:淘宝客服自动分流不均 编辑:程序博客网 时间:2024/05/18 07:39
hibernate 的QBC查询
一,三个工具类
1,Projection类,作用:对查询结果进行统计(count)、分组(group)、求平均值(avg)、求最大值(max)、求最小值(min)、求合计(sum)。
ep:
public void bookProjection(){
//获得session
Session session=SessionFactory.getSession();
//创建Criteria,Book为图书类
Criteria criteria=session.createCriteria(Book.class);
//构建ProjectionList 对象
ProjectionList pList=Projections.projectionList();
//创建分组依据
//安出版社分组
pList.add(Projections.groupProperty("publishers"));
}
//统计各分组的的总记录数
pList.add(Projections.rowCount());
//各组的图书总价格
pList.add(Projecttions.sum("prices"));
//提交Projection给Criteria
criteria.setProjection(pList);
//执行查询获得结果
List list=criteria.list();
//迭代结果
Iterator iterator=list.iterator();
//遍历查询结果
while(iterator.hasNext()){
Object[] object=(Object[])iterator.nest();
Publishers publishers=(Publishers)object[0];
System.out.println("出版社名称:"+publishers.getName()+" 图书总数:" +object[1]+" 价格总和:" +object[2])
}
2,Restrictions类,作用:对查询条件进行封装,如Restrictions.eq(等于)、Restrictions.allEq(使用Map,使用key / value 进行多个等于比较)、
Restrictions.gt(大于>)、Restrictions.ge(大于等于>=)、Restrictions.lt(小于<)、Restrictions.le(小于等于<=)、Restrictions.between(相当于sql中的between·)、
Restriction.like(相当于sql中的like)、Restrictions.in(相当于sql中的in)、Restrictions.and(and关系)、Restrictions.or(or关系)、Restrictions.sqlRestriction(SQL限定查 询)。
ep:public void likeBook(Book book){
//获得session
Session session=SessionFactory.getSession();
//创建查询所有图书的Criteria
Criteria criteria=session.createCriteria(Book.class);
//使用Restrictions对象编写查询条件,并将查询条件加入Criteria对象
if( book!=null){
if(book.getTitle()!=null&&!book.getTitle().equals("")){
// 按书名进行筛选
criteria.add(Restrictions.like("title",book.getTitle(),Match.ANYWHERE));
}
List list=criteria.list();
//遍历查询结果
Iterator iterator=list.iterator();
while(iterator.hasNext()){
Book book=list.next();
System.out.println( book.getTitle()+book.getAuthor());
}
}
}
3,Order类,对结果设置排序方法 Order.asc(升序),Order.desc(降序)
ep; public void bookOrder(){
//获得session
Session session=SessionFactory.getSession();
//创建查询所有图书的Criteria
Criteria criteria=session.createCriteria(Book.class);
//对结果按id升序排序
criteria.addOrder(Order.asc("id"));
}
- Hibernate 之 Criteria 自我学习
- (转)hibernate之Criteria
- Hibernate之 Criteria查询
- Hibernate 之 Criteria
- Hibernate之Criteria
- Hibernate之Criteria查询
- hibernate学习之四——Query和Criteria接口
- 学习下Hibernate的Criteria
- Hibernate学习笔记--Criteria Query
- Hibernate 深入研究之 Criteria
- Hibernate深入究之--criteria
- Hibernate 深入研究之 Criteria
- Hibernate 深入研究之 Criteria
- Hibernate深入究之--criteria
- Hibernate 深入研究之 Criteria
- Hibernate之Criteria 基本查询
- Hibernate 深入研究之 Criteria
- Hibernate 深入研究之 Criteria
- ABAP几种内表的操作
- 编程程序实现委托,事件。
- mysql case then使用
- 排序算法之冒泡排序
- git 连接不同的服务器地址
- Hibernate 之 Criteria 自我学习
- u32 testsram[250000] __attribute__((at(0X68000000)));
- Leetcode Symmetric Tree
- 【知识库】--git删除远程分支(242)
- cocos2dx导入已有的项目
- 【Linux】中的线程死锁详解
- SSL1333 地鼠的困境(最大匹配)
- leetcode 146. LRU Cache
- 【Java设计模式】- 观察者模式