2025年4月27日 星期日 乙巳(蛇)年 正月廿八 设为首页 加入收藏
rss
您当前的位置:首页 > 计算机 > 编程开发 > Java

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

时间:03-07来源:作者:点击数:49

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

语法:

setProjection(Projection 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);
方便获取更多学习、工作、生活信息请关注本站微信公众号城东书院 微信服务号城东书院 微信订阅号
推荐内容
相关内容
栏目更新
栏目热门