ï»??xml version="1.0" encoding="utf-8" standalone="yes"?>亚洲视频一区在线,青青在线视频一区二区三区,国产精品一区二区婷婷 http://www.aygfsteel.com/realzar/category/9476.htmlçš‡å®¶æ’’æ‹‰å“¥è¨ zh-cn Wed, 07 Mar 2007 10:23:37 GMT Wed, 07 Mar 2007 10:23:37 GMT 60 Hibernate¾l¼åˆæŸ¥è¯¢è§£å†³æ–ÒŽ¡ˆ http://www.aygfsteel.com/realzar/archive/2006/04/04/39137.htmlå¼€æºçˆ±å¥½è€?/dc:creator>å¼€æºçˆ±å¥½è€?/author>Tue, 04 Apr 2006 05:29:00 GMT http://www.aygfsteel.com/realzar/archive/2006/04/04/39137.html http://www.aygfsteel.com/realzar/comments/39137.html http://www.aygfsteel.com/realzar/archive/2006/04/04/39137.html#Feedback 0 http://www.aygfsteel.com/realzar/comments/commentRss/39137.html http://www.aygfsteel.com/realzar/services/trackbacks/39137.html       现在sunåˆåŠ å…¥jdocentral.comå¼€å§‹ç€æ‰‹JDO2.0åQŒæƒ³æƒ³çœ‹½{‰å®ƒå‡ºå°ä»¥åŽž®†æ˜¯ä¸€ä¸ªæ€Žæ ·‹È€åЍäh心得场é¢åQŒè®©æˆ‘们æ‹ç›®ä»¥å¾…ã€?br />            用Hibernateæ¥æ“¾U‰|Œä¹…æ•°æ®éžå¸¸ç®€å•,在这里一些简å•的查询我会一½W”带˜q‡ï¼Œæœ¬æ–‡ç€é‡è¯´æ˜Žåœ¨¾l¼åˆæŸ¥è¯¢å…¼æœ‰åˆ†é¡µçš„æ—¶å€™æˆ‘的一些ç»éªŒï¼Œå¦‚æžœ¾|‘å‹è§‰å¾—我的æ–ÒŽ¡ˆ˜q˜æœ‰ä¸èƒö的地方,也请和我讨论åQŒæˆ‘çš„email:plateau_t@sina.com.             ½W¬ä¸€éƒ¨åˆ†åQšHibernateæä¾›çš„æŸ¥è¯¢æŽ¥å£æˆ–其方法(æ¤éƒ¨åˆ†ä¸åšæ·±½IÓž¼Œè¯·å‚考hibernate手册åQ?br />             1ã€‚æ ¹æ®ID查询     è¦ç”¨åˆ°Session接å£çš„loadæ–ÒŽ³•ã€?br />    load(Class theClass, Serializable id)     load(Class theClass, Serializable id, LockMode lockMode)     load(Object object, Serializable id)             2。HQLè¯å¥˜q›è¡ŒæŸ¥è¯¢               2ã€? 利用Query接å£åQŒQueryç”±Session里的createQuery()æ¥äñ”生一个查è¯?br />        1)ä¸å¸¦å‚数的查询(˜q™ç±»æ¯”较½Ž€å•)         Query query=session.createQuery("select user from User as user");         2)另傿•°çš„æŸ¥è¯¢         Query query=session.createQuery("select user from User as user where user.name=?");         query.setString(0,name)//å‡è®¾nameä¸ÞZ¼ ˜q‡æ¥çš„傿•?br />        Query query=session.createQuery("select user from User as user where user.name=:name");         query.setString("name",name)//å‡è®¾nameä¸ÞZ¼ ˜q‡æ¥çš„傿•ŠW?br />        (å¤šä¸ªå‚æ•°ä»¥æ¤¾cÀLލ)                 利用Session接å£çš„find查询         find(String query)         find(String query, Object[] values, Type[] types)         find(String query, Object value, Type type)    å‡è¿”回list           å¦?         List list=session.find("select user from Users as user where user.name=?",name,Hibernate.STRING)         List list=session.find("select user from Users as user where user.name=? and             user.pw=?",new Object[]{name,pw},new Type[]{Hibernate.STRING,Hibernate.STRING})                 {推è使用Query的方法进行查询}                 ½W¬äºŒéƒ¨åˆ†åQšhibernate¾l¼åˆæŸ¥è¯¢è§£å†³æ–ÒŽ¡ˆÂ åQˆæ¤éƒ¨åˆ†è¯¦ç»†å®žä¾‹è¯´æ˜ŽåQŒå¦‚有丑³çš„地方请写信给我)                      大家从第一部分å¯ä»¥çœ‹åˆ°åQŒå¸¦æœ‰å‚数的查询åQŒå¿…™åÖM‹É用到Query接å£,如上边:         Query query=session.createQuery("select users from Users as users where users.name=?");         query.setString(0,name)//å‡è®¾nameä¸ÞZ¼ ˜q‡æ¥çš„傿•ŠW   Â?br />       但是在系¾lŸä¸å¦‚何æ‰èƒ½å†™ä¸€ä¸ªå…¬ç”¨çš„æŸ¥å¯»æ–ÒŽ³•呢?咋一看,ä¼ég¹Žæ˜¯ä¸å¯ä»¥çš„ï¼Œå› äØ“æ¯ä¸€‹Æ¡æŸ¥è¯¢çš„傿•°ä¸ä¸€æ øP¼Œå‚数的数é‡ä¸ä¸€æ øP¼ˆå¦‚下代ç åQ‰ï¼Œé‚£ä¹ˆæˆ‘们如何æå–共性呢åQŸÂ  Â?br />         Query query=session.createQuery("select users from Users as users where users.name=? and users.pw=?");         query.setString(0,name)//å‡è®¾nameä¸ÞZ¼ ˜q‡æ¥çš„傿•ŠW Â?br />        query.setString(1,pw);              首先说明åQŒæˆ‘的解å†Ïx–¹æ¡ˆæ˜¯ä»ŽSeesion接å£çš„findæ–ÒŽ³•扑ֈ°å‡ºå£çš„,如下为Session接å£å¾—find()æ–ÒŽ³•之一åQ?br />        find(String query, Object[] values, Type[] types)        其ä¸Object[]ä¸ºå˜æ”‘ւ数值的数组åQŒType[]ä¸ºå˜æ”‘ւ数类型的数组åQŒä»–们的™åºåºæ˜¯å’Œquery里“?â€Â çš„™åºåºæ˜¯ç›¸åŒçš„。那么我ä¸ÞZ»€ä¹ˆä¸ç”¨è¯¥findæ–ÒŽ³•å‘¢ï¼Œå› äØ“å¦‚æžœæœ‰åˆ†™å늚„情况åQŒé‚£ä¹ˆè¯¥æ–ÒŽ³•ž®†ä¸é€‚用ã€?br />          下é¢è¯¦ç»†è¦è¯´æ˜Žçš„解决æ–ÒŽ¡ˆåQ?br />      首先我想创å¾ä¸‰ä¸ªæ–°çš„对象åQšParas.javaåQˆå‚数对象) ParasList.javaåQˆå‚数集åˆå¯¹è±¡ï¼‰HQuery.java      åQˆæ„Ÿè°¢æˆ‘çš„åŒäº‹camelæä¾›æ³¨é‡Šè‰¯å¥½çš„代ç )      1。Paras.javaåQˆå‚数对象)       package com.ifreeway.homegrown.testing.waf;     /**    *    * <p>Title:定义一个sqlè¯å¥çš„æ¡ä»¶å‚æ•°ç±»Â </p>    * <p>Description: å¯ä»¥ä½¿ç”¨æœ‰åºçš„傿•°é›†åˆä¼ é€ç»™sql/hqlè¯å¥Â </p>    * <p>Copyright: Copyright (c) 2003</p>    * <p>Company: ifreeway</p>    * @author camel    * @version 1.0    */     public class Paras {    /**     *Â å‚æ•°åç§°     */    private Object pName;    /**     *Â å‚æ•°¾cÕdž‹¾~–ç åQŒäºŽjava.sql.typesä¸çš„¾cÕdž‹ä¿æŒä¸€è‡?br />    */    private int typeNo;      public Object getPName() {     return pName;    }    public void setPName(Object pName) {     this.pName = pName;    }    public int getTypeNo() {     return typeNo;    }    public void setTypeNo(int typeNo) {     this.typeNo = typeNo;    }   }    2。ParasList.javaåQˆå‚数集åˆå¯¹è±¡ï¼‰Â   package com.ifreeway.homegrown.testing.waf;     import java.util.ArrayList;     /**    *    * <p>Title:Â å‚æ•°é›†åˆ¾c?lt;/p>    * <p>Description: ž®è£…sql/hqlçš„å‚æ•°åˆ°è¯¥é›†åˆç±»åQŒä¾¿äºŽå¤„ç†å’Œä¼ é€?lt;/p>    * <p>Copyright: Copyright (c) 2003</p>    * <p>Company: ifreeway</p>    * @author camel    * @version 1.0    */     public class ParaList extends ArrayList {       /**      * 在指定佾|®æ·»åŠ ä¸€ä¸ªå‚æ•°å¯¹è±?br />     * @param indexåQšå‚数的索引å€?br />     * @param påQšéœ€è¦åŠ å…¥çš„å‚æ•°å¯¹è±¡      */     public  void addParas(int index,Paras p){         super.add(index,p);     }       /**      * 在集åˆçš„æœ€åŽä½¾|®æ·»åŠ ä¸€ä¸ªå‚æ•°å¯¹è±?br />     * @param påQšéœ€è¦åŠ å…¥çš„å‚æ•°å¯¹è±¡      */     public void addParas(Paras p){       super.add(p);     }       /**      * å–得指定ä½ç½®çš„傿•°å¯¹è±?br />     * @param indexåQšå‚数的索引å€?br />     * @returnåQšå‚数对è±?br />     */     public Paras getParas(int index){         return (Paras)super.get(index) ;     }     /**      * å–å¾—æŒ‡å®šå‚æ•°çš„烦å¼?br />     * @param påQšå‚数对è±?br />     * @returnåQšå‚数烦å¼?br />     */     public int indexofParas(Paras p){        return super.indexOf(p) ;     }       /**      * 从集åˆä¸åŽÀLŽ‰ä¸€ä¸ªæŒ‡å®šçš„å‚æ•°å¯¹è±¡      * @param indexåQšå‚数烦å¼?br />     */     public void removeParas(int index){       super.remove(index) ;     }     }   3。HQuery.java   package com.ifreeway.homegrown.testing.waf;       /**    *    * <p>Title: HQLçš„è¯å¥å°è£…ç±»</p>    * <p>Description: 该对象å°è£…HQL的查询è¯å¥ï¼Œå‚数集åˆåQŒæŽ’åºå‚敎ͼŒåˆ†ç»„傿•°åQŒå•™åµè“v始地å€Â  </p>    * <p>Copyright: Copyright (c) 2003</p>    * <p>Company:ifreeway </p>    * @author camel    * @version 1.0    */     public class HQuery {       /**      * HQL查询è¯å¥      */     private String queryString;     /**      *Â å‚æ•°é›†åˆå¯¹è±¡      */     private ParaList paralist;     /**      * 排åºå—段      */     private String orderby;     /**      *Â åˆ†ç»„å—æ®µ      */     private String groupby;     /**      *Â åˆ†é¡µèµ·å§‹æŸ¥è¯¢åœ°å€ Â Â Â Â Â */     private int pageStartNo;       /**      * å–得一个Hibernateçš„Query对象      * @returnåQšQuery对象      */     public String getQueryString() {       return queryString;     }       /**      * 讄¡½®ä¸€ä¸ªHQL查询å—符ä¸?br />     * @param queryStringåQšæŸ¥è¯¢å—½W¦ä¸²      *      */     public void setQueryString(String queryString) {         this.queryString =queryString;       }       /**      * å–得傿•°é›†åˆå¯¹è±¡      * @returnåQšå‚数集åˆå¯¹è±?br />     */     public ParaList getParalist() {       return paralist;     }       /**      * 讄¡½®å‚数集åˆå¯¹è±¡      * @param paraliståQšå‚数集åˆå¯¹è±?br />     */     public void setParalist(ParaList paralist) {       this.paralist = paralist;     }       /**      * å–得排åºå—段      * @returnåQšæŽ’åºå—ŒD?br />     */     public String getOrderby() {       return orderby;     }       /**      * 讄¡½®æŽ’åºå—段      * @param orderby      */     public void setOrderby(String orderby) {       this.orderby = orderby;     }       /**      * å–å¾—åˆ†ç»„å—æ®µ      * @return      */     public String getGroupby() {       return groupby;     }       /**      * 讄¡½®åˆ†ç»„å—æ®µ      * @param groupby      */     public void setGroupby(String groupby) {       this.groupby = groupby;     }       /**      * å–å¾—™åµè“vå§‹åœ°å€ Â Â Â Â Â * @return      */     public int getPageStartNo() {       return pageStartNo;     }       /**      * 讄¡½®™åµè“vå§‹åœ°å€ Â Â Â Â Â * @param pageStartNo      */     public void setPageStartNo(int pageStartNo) {       this.pageStartNo = pageStartNo;     }   }    上é¢ä¸‰ä¸ªå¯¹è±¡çš„å…³¾pÀL˜¯åQ?br />  用Parasæ¥è£…è½½æ¯ä¸€ä¸ªæŸ¥è¯¢å‚æ•?br />  Paras paras=new Paras();   paras.setPName(...);   paras.setTypeNo(...); Â ç„¶åŽæ”‘Öœ¨ParasListä¸?br />  ParasList paraslist=new ParasList();   paraslist.add(paras) Â æœ€åŽæŠŠå¡«å……ä»¥åŽçš„ParasList集刾l™HQuery    HQuery hquery=new HQuery();   hquery.setParalist(paraslist); Â Â Â å…ˆé¢æˆ‘们写一个公用查å¯ÀL–¹æ³•,æ¥å®žçŽ°æˆ‘ä»¬çš„¾l¼åˆæŸ¥è¯¢åQ?br />  /**   *   *  ¾l¼åˆæŸ¥è¯¢åQŒé¦–先实例化HQuery   * @see com.ifreeway.homegrown.testing.common.waf.DBHandler#find(com.ifreeway.homegrown.testing.common.waf.HQuery)   */  public List find(HQuery _query) throws HibernateException {   List itr = null;   try {    StringBuffer query_str = new StringBuffer(_query.getQueryString());    //是å¦è¦æŽ’åº?br />   if (_query.getOrderby() != null) {     query_str.append(_query.getOrderby());    }    //是å¦è¦åˆ†¾l?br />   if (_query.getGroupby() != null) {     query_str.append(_query.getGroupby());    }    Session session = getSession();    Query query = session.createQuery(query_str.toString());    if (_query.getParalist() != null) {     List list = _query.getParalist();     for (int i = 0; i < list.size(); i++) {      Paras param = (Paras) list.get(i);      switch (param.getTypeNo()) {//æ¤å¤„è¦æ ¹æ®å‚æ•°ç±»åž‹çš„å¢žåŠ è¦å¢žåŠ ç›¸åº”çš„â€œcaseâ€?br />      case Types.VARCHAR :        query.setString(i, param.getPName().toString());        break;       case Types.INTEGER :        query.setInteger(         i,         ((Integer) param.getPName()).intValue());        break;       case Types.DATE :        query.setDate(i, (java.sql.Date) param.getPName());        break;       case Types.DOUBLE :        query.setDouble(         i,         ((Double) param.getPName()).doubleValue());        break;       case Types.BOOLEAN :        query.setBoolean(         i,         ((Boolean) param.getPName()).booleanValue());        break;       case Types.CHAR :        query.setCharacter(         i,         ((Character) param.getPName()).charValue());        break;       case Types.JAVA_OBJECT :        query.setEntity(i, (BaseModel) param.getPName());        break;      }     }    }    //是å¦å˜åœ¨åˆ†é¡µåQŒå½“_query.getPageStartNo()==0是ä¸åˆ†é¡µ    if (_query.getPageStartNo() != 0) {     int pageno = _query.getPageStartNo();     query.setFirstResult((pageno - 1) * Constants.RECORD_PER_PAGE);     query.setMaxResults((pageno) * Constants.RECORD_PER_PAGE);    }    itr = query.list();    closeSession();   } catch (Exception e) {   }   return itr;  }           好了一旦我们åšå¥½äº†ä¸Šè¾¹çš„工作,查询å¯ÒŽˆ‘们æ¥è¯´å°†æ˜¯å¾ˆå®ÒŽ˜“的一件事情,而且å¯ä»¥è¾‘Öˆ°å…¬ç”¨åQŒæ˜¯ä¸æ˜¯çœäº†è®¸å¤šåŠ›æ°”åQŸä¸‹é¢æˆ‘ž®†å®žä¾‹åŒ–ä¸€ä¸ªä¾‹åæ¥˜q›ä¸€æ¥è¯´æ˜Žï¼š             例ååQ?br />      HQuery hquery=HQuery();       hquery.setQueryString("select users from Users as users where users.name=? and users.sex=?");       hquery.setOrderby("order by users.age desc");             //如果è¦åˆ†™åµï¼ŒæŠŠå½“å‰é¡µcurpageä¼ é€’ç»™hquery       hquery.setPageStartNo(curpage);             //å®žä¾‹åŒ–å‚æ•ŽÍ¼Œæœ¬ä¾‹ä¸ÞZ¸¤ä¸ªå‚æ•?br />      Paras paras1=new Paras();       paras1.setPName(name);       paras1.setTypeNo(Types.VARCHAR);             Paras paras2=new Paras();       paras2.setPName(sex);       paras2.setTypeNo(Types.INTEGER);             ParasList paraslist=new ParasList();       paraslist.add(paras1);       paraslist.add(paras2);//注愙åºåº             hquery.setParalist(paraslist);             //好了åQŒåšå¥½å‡†å¤‡å·¥ä½œï¼Œè°ƒç”¨æŸ¥å¯»æ–ÒŽ³•得到¾l“æžœ       List list=find(hquery); ]]>
Ö÷Õ¾Ö©Öë³ØÄ£°å£º
ÒËÀ¼ÏØ |
ÐÂÃñÊÐ |
¹âÔóÏØ |
ÇìÑôÊÐ |
½¨Æ½ÏØ |
ãÏÖÐÊÐ |
ÍòÈ«ÏØ |
Ç±É½ÏØ |
ÂÞÆ½ÏØ |
ÓÜÉçÏØ |
Ïå·ÚÏØ |
ÂÞ³Ç |
³£ÖÝÊÐ |
°¢Â³¿Æ¶ûÇ߯ì |
ÂÌ´ºÏØ |
²áºàÏØ |
¹ÅÝþÏØ |
ãÏÖÐÊÐ |
¶´¿ÚÏØ |
Ì©°²ÊÐ |
ÔÞ»ÊÏØ |
ÈÕÍÁÏØ |
°ÙÉ«ÊÐ |
¹ãµÂÏØ |
·áÔÊÐ |
ÄÏÑôÊÐ |
ºôÂ×±´¶ûÊÐ |
ÔæÇ¿ÏØ |
ÁúÃÅÏØ |
²×Ô´ |
ÇàÉñÏØ |
аͶû»¢×óÆì |
ÈÚË® |
»¸Ì¨ÏØ |
Ë«Á÷ÏØ |
¿â¶ûÀÕÊÐ |
Èç¶«ÏØ |
ÀÖÖÁÏØ |
ËÄ´¨Ê¡ |
º£ÔÏØ |
·ðѧ |