首页 > 编程笔记 > Java笔记 阅读:912

Hibernate Criteria接口 setProjection方法:设置查询的投影列

setProjection 方法用于设置查询的投影列。该方法与 Projections 类结合不仅可以实现简单的投影查询,而且可以实现数据的分组统计。

语法:

setProjection(Projection projection)

参数说明:
返回值:Criteria 对象。

示例1

应用投影查询,查询数据表中的全部用户 ID,关键代码如下:
Criteria criteria = session.createCriteria(UserForm.class);  //示例化Criteria对象
criteria.setProjection(Projections.id());  //设置查询列
list = criteria.list();  //执行查询
Iterator it = list.iterator();  //获取查询结果迭代器
while(it.hasNext()){  //循环遍历查询结果
  System.out.println(it.next());
}

示例2

应用投影查询,查询数据表中的全部用户 ID 和用户名,关键代码如下:
Criteria criteria = session.createCriteria(UserForm.class);  //示例化Criteria对象
criteria.setProjection(Projections.projectionList()
                       .add(Projections.id())
                       .add(Projections.property("username"))  //查询数据表全部用户ID和用户名
                      );
List list = criteria.list();  //获取查询结果
Iterator it = list.iterator();  //获取查询结果迭代器
while(it.hasNext()){  //循环遍历迭代器
  Object[] o = (Object[])it.next();
  System.out.println("ID:"+o[0]+"用户名:"+o[1]);
}

示例3

获取订单信息表中的合计金额,关键代码如下:
Criteria criteria = session.createCriteria(OrderForm.class);  //获取Criteria示例
criteria.setProjection(Projections.sum("money"));  //设置查询列
double sumMoney = (Double)criteria.uniqueResult();  //获取订单信息表总金额
System.out.println("合计金额:"+sumMoney);

编程帮,一个分享编程知识的公众号。跟着站长一起学习,每天都有进步。

通俗易懂,深入浅出,一篇文章只讲一个知识点。

文章不深奥,不需要钻研,在公交、在地铁、在厕所都可以阅读,随时随地涨姿势。

文章不涉及代码,不烧脑细胞,人人都可以学习。

当你决定关注「编程帮」,你已然超越了90%的程序员!

编程帮二维码
微信扫描二维码关注

所有教程

优秀文章