• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            xiaoguozi's Blog
            Pay it forword - 我并不覺的自豪,我所嘗試的事情都失敗了······習(xí)慣原本生活的人不容易改變,就算現(xiàn)狀很糟,他們也很難改變,在過程中,他們還是放棄了······他們一放棄,大家就都是輸家······讓愛傳出去,很困難,也無法預(yù)料,人們需要更細(xì)心的觀察別人,要隨時(shí)注意才能保護(hù)別人,因?yàn)樗麄兾幢刂雷约阂裁础ぁぁぁぁ?/span>

            1. 查詢整個(gè)映射對(duì)象所有字段

            //直接from查詢出來的是一個(gè)映射對(duì)象,即:查詢整個(gè)映射對(duì)象所有字段      
                    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());      
                    }      
                 
             輸出結(jié)果為:      
            name1 : password1 : 
            1     
            name2 : password2 : 
            2     
            name3 : password3 : 
            3    

            2.查詢單個(gè)字段
            //查詢單個(gè)字段      
                    String hql = " select name from Users";      
                    Query query 
            = session.createQuery(hql);      
                          
                    List
            <String> list = query.list();      
                    
            for(String str : list){      
                        System.
            out.println(str);      
                    }      
            輸出結(jié)果為:      
            name1      
            name2      
            name3    

            3.查詢其中幾個(gè)字段
            //查詢其中幾個(gè)字段      
                    String hql = " select name,passwd from Users";      
                    Query query 
            = session.createQuery(hql);      
                    
            //默認(rèn)查詢出來的list里存放的是一個(gè)Object數(shù)組      
                    List<Object[]> list = query.list();      
                    
            for(Object[] object : list){      
                        String name 
            = (String)object[0];      
                        String passwd 
            = (String)object[1];      
                              
                        System.
            out.println(name + " : " + passwd);      
                    }      
            輸出結(jié)果為:      
            name1 : password1      
            name2 : password2      
            name3 : password3  

            4.修改默認(rèn)查詢結(jié)果(query.list())不以O(shè)bject[]數(shù)組形式返回,以List形式返回
            //查詢其中幾個(gè)字段,添加new list(),注意list里的l是小寫的。也不需要導(dǎo)入包,這樣通過query.list()出來的list里存放的不再是默認(rèn)的Object數(shù)組了,而是List集合了   
                    String hql = " select new list(name,passwd) from Users";   
                    Query query 
            = session.createQuery(hql);   
                    
            //默認(rèn)查詢出來的list里存放的是一個(gè)Object數(shù)組,但是在這里list里存放的不再是默認(rèn)的Object數(shù)組了,而是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);   
                    }   
                    
            /**  
                    輸出結(jié)果為:  
                     name1 : password1  
                    name2 : password2  
                    name3 : password3  
                     
            */  

            5.修改默認(rèn)查詢結(jié)果(query.list())不以O(shè)bject[]數(shù)組形式返回,以Map形式返回
            //查詢其中幾個(gè)字段,添加new map(),注意map里的m是小寫的。也不需要導(dǎo)入包,這樣通過query.list()出來的list里存放的不再是默認(rèn)的Object數(shù)組了,而是map集合了      
                    String hql = " select new map(name,passwd) from Users";      
                    Query query 
            = session.createQuery(hql);      
                    
            //默認(rèn)查詢出來的list里存放的是一個(gè)Object數(shù)組,但是在這里list里存放的不再是默認(rèn)的Object數(shù)組了,而是Map集合了      
                    List<Map> list = query.list();      
                    
            for(Map user : list){      
                        
            //一條記錄里所有的字段值都是map里的一個(gè)元素,key是字符串0,1,2,3.,value是字段值      
                        
            //如果將hql改為:String hql = " select new map(name as username,passwd as password) from Users";,那么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);      
                    }
                  
                    
            /**    
                    輸出結(jié)果為:    
                     name1 : password1    
                    name2 : password2    
                    name3 : password3    
                     
            */
                

            6.修改默認(rèn)查詢結(jié)果(query.list())不以O(shè)bject[]數(shù)組形式返回,以Set形式返回,但是因?yàn)镾et里是不允許有重復(fù)的元素,所以:username和password的值不能相同。只需將hql改為:String hql = " select new set(name,passwd) from Users";

            7.修改默認(rèn)查詢結(jié)果(query.list())不以O(shè)bject[]數(shù)組形式返回,以自定義類型返回
            package com.domain;      
                 
            public class MyUser {      
                 
                
            private String username;      
                
            private String password;      
            //因?yàn)椋篠tring hql = " select new  com.domain.MyUser(name,passwd) from Users";所以必須要有接受2個(gè)參數(shù)的構(gòu)造函數(shù)      
                public MyUser(String username,String password){      
                    
            this.username = username;      
                    
            this.password = password;      
                }      
                      
                
            public String getUsername() {      
                    
            return username;      
                }      
                
            public void setUsername(String username) {      
                    
            this.username = username;      
                }      
                
            public String getPassword() {      
                    
            return password;      
                }      
                
            public void setPassword(String password) {      
                    
            this.password = password;      
                }      
                      
                      
            }    

            //通過query.list()出來的list里存放的不再是默認(rèn)的Object數(shù)組了,而是自定義的類MyUser,必須加包名,String hql = "from Users";中的Users類也是必須加包名的,但是因?yàn)樵賃sers.hbm.xml里<hibernate-mapping auto-import="true"> auto-import默認(rèn)值為true(所以auto-import屬性也可以不寫),自動(dòng)導(dǎo)入了      
                    String hql = " select new  com.domain.MyUser(name,passwd) from Users";      
                    Query query 
            = session.createQuery(hql);      
                    
            //默認(rèn)查詢出來的list里存放的是一個(gè)Object數(shù)組,但是在這里list里存放的不再是默認(rèn)的Object數(shù)組了,而是MyUser對(duì)象了      
                    List<MyUser> myUsers = query.list();      
                    
            for(MyUser myUser : myUsers){      
                        String name 
            = myUser.getUsername();      
                        String passwd 
            = myUser.getPassword();      
                        System.
            out.println(name + " : " + passwd);      
                    }
                  
                    
            /**    
                    輸出結(jié)果為:    
                    name1 : password1    
                    name2 : password2    
                    name3 : password3    
                     
            */
                

            8:條件查詢
            //條件查詢,參數(shù)索引值從0開始,索引位置。通過setString,setParameter設(shè)置參數(shù)      
                    String hql = "from Users where name=? and passwd=?";      
                    Query query 
            = session.createQuery(hql);      
                    
            //第1種方式      
            //      query.setString(0, "name1");      
            //      query.setString(1, "password1");      
                    
            //第2種方式      
                    query.setParameter(0"name1",Hibernate.STRING);      
                    query.setParameter(
            1"password1",Hibernate.STRING);      
                    List
            <Users> list = query.list();      
                    
            for(Users users : list){      
                        System.
            out.println(users.getId());      
                    }
                 

            //條件查詢,自定義索引名(參數(shù)名):username,:password.通過setString,setParameter設(shè)置參數(shù)      
                    String hql = "from Users where name=:username and passwd=:password";      
                    Query query 
            = session.createQuery(hql);      
                    
            //第1種方式      
            //      query.setString("username", "name1");      
            //      query.setString("password", "password1");      
                    
            //第2種方式,第3個(gè)參數(shù)確定類型      
                    query.setParameter("username""name1",Hibernate.STRING);      
                    query.setParameter(
            "password""password1",Hibernate.STRING);      
                    List
            <Users> list = query.list();      
                    
            for(Users users : list){      
                        System.
            out.println(users.getId());      
                    }
                

            //條件查詢,通過setProperties設(shè)置參數(shù)      
                    String hql = "from Users where name=:username and passwd=:password";      
                    Query query 
            = session.createQuery(hql);      
                    
            //MyUser類的2個(gè)屬性必須和:username和:password對(duì)應(yīng)      
                    MyUser myUser = new MyUser("name1","password1");      
                    query.setProperties(myUser);      
                    List
            <Users> list = query.list();      
                    
            for(Users users : list){      
                        System.
            out.println(users.getId());      
                    }
                
            posted on 2009-07-21 14:17 小果子 閱讀(951) 評(píng)論(0)  編輯 收藏 引用 所屬分類: 學(xué)習(xí)筆記
            亚洲国产成人久久综合区| 久久久久久国产精品免费免费| 久久笫一福利免费导航| 久久精品国产半推半就| 久久精品国产亚洲欧美| 色欲综合久久躁天天躁| 亚洲乱码精品久久久久..| 国产欧美一区二区久久| AAA级久久久精品无码区| 久久久久免费视频| 奇米影视7777久久精品| 青青草原综合久久大伊人精品| 亚洲国产成人精品无码久久久久久综合| 欧美日韩精品久久久免费观看| 久久人爽人人爽人人片AV| 久久99精品久久久久久秒播| 中文字幕久久欲求不满| 狠狠色丁香婷婷久久综合| 国产成人无码精品久久久免费| 久久久久久久久波多野高潮| 久久99中文字幕久久| 国产成人精品综合久久久久 | 亚洲国产高清精品线久久| 人妻无码久久一区二区三区免费| 国产精品嫩草影院久久| 久久99国产综合精品女同| 伊人伊成久久人综合网777| 国产精品成人久久久久久久| 精品少妇人妻av无码久久| 亚洲精品美女久久久久99| 久久影视综合亚洲| 久久精品亚洲欧美日韩久久| 亚洲综合婷婷久久| 国产福利电影一区二区三区久久老子无码午夜伦不 | 久久久久亚洲AV综合波多野结衣 | 色综合久久天天综线观看| 国产AV影片久久久久久| 97超级碰碰碰碰久久久久| 91精品国产高清久久久久久国产嫩草| 日产精品99久久久久久| 7777久久久国产精品消防器材|