<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

    利用反射構(gòu)成SQL語句,這樣,對(duì)于一般表的CURD,都可快速實(shí)現(xiàn)。

       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 閱讀(153) 評(píng)論(0)  編輯  收藏


    只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


    網(wǎng)站導(dǎo)航:
     

    My Links

    News

    留言簿(18)

    隨筆檔案

    相冊(cè)

    搜索

    最新評(píng)論

    閱讀排行榜

    主站蜘蛛池模板: 99久久99这里只有免费的精品| 亚洲欧洲无卡二区视頻| 国产三级在线免费观看| 亚洲av日韩av欧v在线天堂| MM1313亚洲国产精品| 国产免费午夜a无码v视频| 成人免费视频一区二区| 国产成人高清精品免费鸭子| 亚洲国产AV一区二区三区四区| 毛片免费在线观看网址| 亚洲精品av无码喷奶水糖心| 在线观看免费污视频| 日韩精品亚洲专区在线影视| 亚洲精品无码99在线观看| 一级毛片免费播放视频| 亚洲人成网亚洲欧洲无码久久| 任你躁在线精品免费| 久久狠狠高潮亚洲精品| 久久久久久国产a免费观看黄色大片 | 97无码免费人妻超级碰碰夜夜| 亚洲色精品三区二区一区| 免费亚洲视频在线观看| 国产免费内射又粗又爽密桃视频| 一本久久a久久精品亚洲| 精品国产麻豆免费人成网站| 亚洲精品无码久久毛片波多野吉衣| 在线看片无码永久免费视频| 亚洲欧美黑人猛交群| 国产L精品国产亚洲区久久| 久久国产乱子免费精品| 亚洲日韩精品A∨片无码加勒比| 亚洲成AV人在线观看网址| 性色午夜视频免费男人的天堂 | 精品国产免费观看一区| 国产精品成人免费观看| 亚洲午夜免费视频| 永久黄网站色视频免费| 国产精品免费无遮挡无码永久视频 | 污视频网站免费在线观看| 国产成人无码精品久久久免费| 国产亚洲人成无码网在线观看|