• <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í)筆記
            久久久91精品国产一区二区三区 | 亚洲精品乱码久久久久久蜜桃图片 | 很黄很污的网站久久mimi色 | 久久精品国产久精国产果冻传媒| 青草国产精品久久久久久| 久久青青草原亚洲av无码| 久久青青草原亚洲av无码app | 2020久久精品国产免费| 狠狠色狠狠色综合久久| 伊人久久大香线蕉综合网站| 亚洲国产精品婷婷久久| avtt天堂网久久精品| 久久国产精品成人影院| 欧美日韩成人精品久久久免费看| 亚洲国产精品久久66| 精品多毛少妇人妻AV免费久久 | 久久久久无码精品国产| 性做久久久久久久久老女人| 久久国产精品久久精品国产| 激情伊人五月天久久综合| 一本久久a久久精品综合香蕉| 777久久精品一区二区三区无码| 国产精品久久婷婷六月丁香| 思思久久99热只有频精品66| 中文字幕无码久久人妻| 国产精品综合久久第一页| 久久久精品国产亚洲成人满18免费网站 | 丁香五月网久久综合| 天天躁日日躁狠狠久久| 一97日本道伊人久久综合影院| 国产毛片久久久久久国产毛片 | 国内精品久久久久国产盗摄| 久久久久久久综合日本亚洲| 狠狠色丁香久久婷婷综合五月| 色综合久久久久综合体桃花网| A级毛片无码久久精品免费| 国产精品久久久久久久app | 91精品国产9l久久久久| 97精品久久天干天天天按摩| 99精品国产在热久久无毒不卡 | 狠狠色噜噜狠狠狠狠狠色综合久久|