hql语句查询返回List<Map>

来源:互联网 发布:郑俊龙 域名 编辑:程序博客网 时间:2024/06/04 00:58
//查询其中几个字段,添加newmap(),注意map里的m是小写的。也不需要导入包,这样通过query.list()出来的list里存放的不再是默认的Object数组了,而是map集合了 
 String hql = " select new map(name,passwd) fromUsers";  
 Query query = session.createQuery(hql); 
 //默认查询出来的list里存放的是一个Object数组,但是在这里list里存放的不再是默认的Object数组了,而是Map集合了 
 List<Map> list =query.list();  
 for(Map user : list){  
 //一条记录里所有的字段值都是map里的一个元素,key是字符串0,1,2,3....,value是字段值 
 //如果将hql改为:String hql = " select new map(name asusername,passwd as password) fromUsers";,那么key将不是字符串0,1,2...了,而是"username","password"了 
 String name =(String)user.get("0");//get("0");是get(key),注意:0,1,2...是字符串,而不是整形 
 String passwd = (String)user.get("1"); 
  
 System.out.println(name + " : " + passwd); 
 }  
   

0 0
原创粉丝点击