projectionList 方法用于创建多个投影列,每个投影列由该方法返回的 ProjectionList 对象的 add 方法添加。add 方法的参数为 Projections 类的相关方法的返回值。
语法:
返回值:ProjectionList 类的对象。ProjectionList 类为 Projection 类的子类。
查询数据表中的全部用户名,关键代码如下:
Criteria criteria = session.createCriteria(UserForm.class); //创建Criteria对象
criteria.setProjection(Projections.projectionList()
.add(Projections.property("username"))); //创建投影列
list = criteria.list(); //执行查询语句获取查询结果集
Iterator it = list.iterator(); //获取查询迭代器
while(it.hasNext()){ //循环遍历迭代器
System.out.println("用户名:"+it.next()); //输出查询结果
}
在应用 projectionList 方法用于创建多个投影列时,可以通过调用多个 add 方法设置多个投影列,例如下面的代码:
Criteria criteria = session.createCriteria(UserForm.class); //创建Criteria对象
criteria.setProjection(Projections.projectionList()
.add(Projections.property("username"))
.add(Projections.property("pwd")) //创建多个投影列
);
List list = criteria.list(); //获取查询结果集
Iterator it = list.iterator(); //获取查询迭代器
while(it.hasNext()){ //循环遍历迭代器
Object[] o = (Object[])it.next(); //获取迭代器中数据信息
System.out.println("用户名:"+o[0]+"密码:"+o[1]);
}