createSQLQuery 方法用来生成一个基于 SQL 查询字符串的 Query 对象。通过该方法可以直接使用数据库 SQL 语言进行查询,并对查询结果进行了简单封装,不必再对 ResultSet 进行烦琐的操作,因为查询结果依然是由持久化对象组成的集合,仍然可以用面向对象的思想进行编程。
语法:
参数说明:
返回值:Query 对象。
应用 SQL 查询全部用户信息,并保存到 List 集合中,关键代码如下:
Session session = sessionFactory.openSession(); //创建Session对象
String sql = "select*from tb_user"; //指定SQL语句
List list = null;
List rtnList = new ArrayList(); //创建保存查询结果的集合对象
try{
Query query = session.createSQLQuery(sql); //执行SQL语句
Iterator it = query.list().iterator();
while(it.hasNext()){ //通过循环将查询到的用户信息保存到List集合中
UserForm uf = new UserForm(); //定义保存用户信息的JavaBean对象
Object[] o = (Object[])it.next();
uf.setId((Integer)o[0]);
uf.setUsername((String)o[1]);
uf.setPwd((String)o[2]);
rtnList.add(uf); //向集合中添加对象
}
}catch(Exception e){
System.out.println("查询用户信息时的错误信息:"+e.getMessage());
}