• <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 - 我并不覺的自豪,我所嘗試的事情都失敗了······習慣原本生活的人不容易改變,就算現狀很糟,他們也很難改變,在過程中,他們還是放棄了······他們一放棄,大家就都是輸家······讓愛傳出去,很困難,也無法預料,人們需要更細心的觀察別人,要隨時注意才能保護別人,因為他們未必知道自己要什么·····

            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  
                     
            */  

            5.修改默認查詢結果(query.list())不以Object[]數組形式返回,以Map形式返回
            //查詢其中幾個字段,添加new map(),注意map里的m是小寫的。也不需要導入包,這樣通過query.list()出來的list里存放的不再是默認的Object數組了,而是map集合了      
                    String hql = " select new map(name,passwd) from Users";      
                    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 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);      
                    }
                  
                    
            /**    
                    輸出結果為:    
                     name1 : password1    
                    name2 : password2    
                    name3 : password3    
                     
            */
                

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

            7.修改默認查詢結果(query.list())不以Object[]數組形式返回,以自定義類型返回
            package com.domain;      
                 
            public class MyUser {      
                 
                
            private String username;      
                
            private String password;      
            //因為:String hql = " select new  com.domain.MyUser(name,passwd) from Users";所以必須要有接受2個參數的構造函數      
                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里存放的不再是默認的Object數組了,而是自定義的類MyUser,必須加包名,String hql = "from Users";中的Users類也是必須加包名的,但是因為再Users.hbm.xml里<hibernate-mapping auto-import="true"> auto-import默認值為true(所以auto-import屬性也可以不寫),自動導入了      
                    String hql = " select new  com.domain.MyUser(name,passwd) from Users";      
                    Query query 
            = session.createQuery(hql);      
                    
            //默認查詢出來的list里存放的是一個Object數組,但是在這里list里存放的不再是默認的Object數組了,而是MyUser對象了      
                    List<MyUser> myUsers = query.list();      
                    
            for(MyUser myUser : myUsers){      
                        String name 
            = myUser.getUsername();      
                        String passwd 
            = myUser.getPassword();      
                        System.
            out.println(name + " : " + passwd);      
                    }
                  
                    
            /**    
                    輸出結果為:    
                    name1 : password1    
                    name2 : password2    
                    name3 : password3    
                     
            */
                

            8:條件查詢
            //條件查詢,參數索引值從0開始,索引位置。通過setString,setParameter設置參數      
                    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());      
                    }
                 

            //條件查詢,自定義索引名(參數名):username,:password.通過setString,setParameter設置參數      
                    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個參數確定類型      
                    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設置參數      
                    String hql = "from Users where name=:username and passwd=:password";      
                    Query query 
            = session.createQuery(hql);      
                    
            //MyUser類的2個屬性必須和:username和:password對應      
                    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 小果子 閱讀(950) 評論(0)  編輯 收藏 引用 所屬分類: 學習筆記
            韩国三级大全久久网站| 国产精品99久久不卡| 日日狠狠久久偷偷色综合0 | 亚洲AV日韩精品久久久久| 久久婷婷人人澡人人| 精品人妻伦九区久久AAA片69| 日本强好片久久久久久AAA| 人妻久久久一区二区三区| 久久婷婷五月综合97色直播| 国产精品美女久久福利网站| 久久精品国产91久久麻豆自制| 精品久久久久久久无码 | 久久国产成人精品国产成人亚洲| 2020久久精品国产免费| 国产精品一区二区久久精品| 久久精品国产91久久麻豆自制| 国产99久久久国产精品~~牛| 亚洲精品高清国产一久久| 丰满少妇人妻久久久久久4| 久久99精品久久久久久秒播| 久久精品国产精品亚洲艾草网美妙| 久久AⅤ人妻少妇嫩草影院| 香蕉久久久久久狠狠色| 亚洲AV日韩精品久久久久久久| 青青草国产成人久久91网| 欧美日韩精品久久久久| 久久成人小视频| 久久综合欧美成人| 久久久久久久波多野结衣高潮 | 久久久噜噜噜www成人网| 久久噜噜电影你懂的| 久久精品成人欧美大片| 99久久无色码中文字幕人妻| 国内精品伊人久久久久av一坑| 精品久久久久久无码人妻热| 日韩精品久久无码中文字幕| 国产精品欧美久久久久天天影视| 99久久国产综合精品女同图片| 国产成人精品久久亚洲高清不卡 | 久久久噜噜噜久久中文字幕色伊伊 | 久久久久久A亚洲欧洲AV冫|