<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    afunms

    My Software,My Dream—Forge a more perfect NMS product.

    new framework(7)--build sql via reflect

    利用反射構成SQL語句,這樣,對于一般表的CURD,都可快速實現。

       protected String buildInsertSQL(ResultSetMetaData rsm,DtoInterface dto)
       
    {
           String insertSql 
    = null;
           
    try
           
    {
               StringBuffer sqlBuf 
    = new StringBuffer(50);
               StringBuffer valueBuf 
    = new StringBuffer(50);
               sqlBuf.append(
    "insert into ").append(table).append("(");
               
    for(int i=1;i<=rsm.getColumnCount();i++
               
    {
                   String methodName 
    = "get" + rsm.getColumnName(i).replaceAll("_"""); 
                   Method method 
    = lookupMethod(dtoClass.getMethods(), methodName);
                   
    if(method==null
                   

                       SysLogger.debug(
    "get" + rsm.getColumnName(i) + " does not exist"); 
                       
    continue;
                   }
     
                   sqlBuf.append(rsm.getColumnName(i)).append(
    ",");
                   valueBuf.append(
    "'").append(method.invoke(dto)).append("',");               
               }

               sqlBuf.delete(sqlBuf.length() 
    - 1, sqlBuf.length());
               valueBuf.delete(valueBuf.length() 
    - 1, valueBuf.length());
               sqlBuf.append(
    ")values(").append(valueBuf.toString()).append(")");
               insertSql 
    = sqlBuf.toString();
               SysLogger.debug(insertSql);
           }

           
    catch(Exception e)
           
    {
               SysLogger.error(
    "BaseDao.buildInsertSQL()",e);           
           }

           
    return insertSql;
       }

       
       
    protected String buildUpdateSQL(ResultSetMetaData rsm,DtoInterface dto)
       
    {
           String updateSql 
    = null;
           
    try
           
    {
               Method getId 
    = lookupMethod(dtoClass.getMethods(),"getId");
               
    if(getId==null)
               
    {
                   SysLogger.error(dtoClass.getClass().getName() 
    + ":getId method does not exist");
                   
    return null;
               }

               StringBuffer sqlBuf 
    = new StringBuffer(100);
               sqlBuf.append(
    "update ").append(table).append(" set ");
               
    for(int i=1;i<=rsm.getColumnCount();i++
               
    {
                   
    if(rsm.getColumnName(i).equals("id")) continue;
                   
                   String methodName 
    = "get" + rsm.getColumnName(i).replaceAll("_"""); 
                   Method method 
    = lookupMethod(dtoClass.getMethods(), methodName);
                   
    if(method==null
                   

                       SysLogger.debug(
    "get" + rsm.getColumnName(i) + " does not exist"); 
                       
    continue;
                   }
                    
                   sqlBuf.append(rsm.getColumnName(i)).append(
    "='");
                   sqlBuf.append(method.invoke(dto)).append(
    "',");               
               }

               sqlBuf.delete(sqlBuf.length() 
    - 1, sqlBuf.length());           
               sqlBuf.append(
    " where id='").append(getId.invoke(dto)).append("'");
               updateSql 
    = sqlBuf.toString();
               SysLogger.debug(updateSql);
           }

           
    catch(Exception e)
           
    {
               SysLogger.error(
    "BaseDao.buildUpdateSQL()",e);           
           }

           
    return updateSql;   
       }


     

    posted on 2007-05-07 22:33 afunms 閱讀(150) 評論(0)  編輯  收藏


    只有注冊用戶登錄后才能發表評論。


    網站導航:
     

    My Links

    News

    留言簿(18)

    隨筆檔案

    相冊

    搜索

    最新評論

    閱讀排行榜

    主站蜘蛛池模板: 久久精品国产亚洲AV无码偷窥| 色老头综合免费视频| 久久精品无码精品免费专区| 久久亚洲免费视频| 久久99国产亚洲高清观看首页| 国产黄在线观看免费观看不卡| 久久国产成人亚洲精品影院 | 亚洲字幕AV一区二区三区四区| 5555在线播放免费播放| 亚洲国产精品yw在线观看| 中文在线免费不卡视频| 亚洲日本乱码在线观看| 国产成年无码久久久免费| 婷婷亚洲综合五月天小说| 亚洲美女免费视频| 亚洲人成电影网站色www| 国产免费人成视频在线观看| 免费无遮挡无码视频在线观看| 久久久久无码专区亚洲av| 一级毛片在线观看免费| 亚洲国产成人久久| 国产大片线上免费看| 一区二区三区免费视频观看| 久久精品夜色国产亚洲av| 午夜国产精品免费观看 | 羞羞视频免费网站日本| 亚洲精品乱码久久久久66| 在线视频精品免费| 亚洲精品乱码久久久久久久久久久久| 国内精品免费视频精选在线观看| 亚洲精品视频在线观看视频| 成人永久免费高清| 国产精品免费大片| 亚洲成AV人影片在线观看| 性感美女视频免费网站午夜| 日韩在线视频免费| 97亚洲熟妇自偷自拍另类图片 | 亚洲成在人线aⅴ免费毛片| 中文字幕第13亚洲另类| 思思re热免费精品视频66 | 日韩电影免费在线观看|