hibernate select

来源:互联网 发布:中国网络墙之父 编辑:程序博客网 时间:2024/05/17 03:57
hibernate select查询方式总结
1.查询整个映射对象所有字段
    //直接from查询出来的是一个映射对象,即:查询整个映射对象所有字段      
             String hql = "from Users";      
             Query query = session.createQuery(hql);      
                  
             List<Users> users = query.list();      
            for(Users user : users){      
                 System.out.println(user.getName() + " : " + user.getPasswd() + " : " + user.getId());      
             }      
         
    输出结果为:      
    name1 : password1 : 1     
    name2 : password2 : 2     
    name3 : password3 : 3
2.查询单个字段
    //查询单个字段      
         String hql = " select name from Users";      
         Query query = session.createQuery(hql);      
              
         List<String> list = query.list();      
        for(String str : list){      
             System.out.println(str);      
         }      
    输出结果为:      
    name1      
    name2      
    name3    
3.查询其中多个字段
    //查询其中几个字段      
             String hql = " select name,passwd from Users";      
             Query query = session.createQuery(hql);      
            //默认查询出来的list里存放的是一个Object数组      
             List<Object[]> list = query.list();      
            for(Object[] object : list){      
                 String name = (String)object[0];      
                 String passwd = (String)object[1];      
                      
                 System.out.println(name + " : " + passwd);      
             }      
    输出结果为:      
    name1 : password1      
    name2 : password2      
    name3 : password3 
4.修改默认查询结果(query.list())不以Object[]数组形式返回,以List形式返回 
    //查询其中几个字段,添加new list(),注意list里的l是小写的。也不需要导入包,这样通过query.list()出来的list里存放的不再是默认的Object数组了,而是List集合了   
            String hql = " select new list(name,passwd) from Users";   
            Query query = session.createQuery(hql);   
            //默认查询出来的list里存放的是一个Object数组,但是在这里list里存放的不再是默认的Object数组了,而是List集合了   
            List<List> list = query.list();   
            for(List user : list){   
                String name = (String)user.get(0);   
                String passwd = (String)user.get(1);   
                   
                System.out.println(name + " : " + passwd);   
            }   
            /** 
            输出结果为: 
            name1 : password1 
            name2 : password2 
            name3 : password3 
             */
更多相关信息参考:
http://blog.csdn.net/lfp0202/article/details/6307241
0 0
原创粉丝点击