java 動態(tài)生成SQL的實例講解
更新時間:2017年07月19日 10:28:59 投稿:jingxian
下面小編就為大家?guī)硪黄猨ava 動態(tài)生成SQL的實例講解。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
代碼如下:
/** * 動態(tài)生成SQ及SQL參數(shù)L * @param ve 接收到的消息的CHGLIST * @param paramList MQ消息中的SQL參數(shù) * @param t 泛型對象 * @param table 數(shù)據(jù)表 * @param list 可執(zhí)行SQL語句集合 * @return */ public <T> String updateSqlAndParamList(Vector<String> ve,List<String> paramList,T t,String table,List<String> list){ String strSql="";//MQ消息SQl String upSql="";//可執(zhí)行SQL try { //組裝SQL語句 strSql = "update "+table+" set "; upSql="update "+table+" set "; for(int i = 0; i < ve.size(); i++){ String str = ""; String upStr=""; String key = ve.get(i); String fileName="get"+key.toUpperCase(); String value=(String)t.getClass().getMethod(fileName).invoke(t); paramList.add(i,value); if(i == ve.size()-1){ str = key+" = ?"; upStr=key+"='"+value+"'"; }else{ str = key+" = ? ,"; upStr=key+"='"+value+"',"; } strSql+=str; upSql += upStr; } strSql +=" where Id = ? "; upSql+=" where id='"+(String) t.getClass().getMethod("getID").invoke(t)+"'"; list.add(upSql); paramList.add(ve.size(),(String) t.getClass().getMethod("getID").invoke(t)); } catch (Exception e) { logger.info("組裝UPDATE SQL失??!失敗詳情---"+e); } return strSql; }
以上這篇java 動態(tài)生成SQL的實例講解就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
您可能感興趣的文章:
相關(guān)文章
Java+opencv3.2.0實現(xiàn)hough直線檢測
這篇文章主要為大家詳細介紹了Java+opencv3.2.0之hough直線檢測,具有一定的參考價值,感興趣的小伙伴們可以參考一下2018-02-02Java之map的常見用法講解與五種循環(huán)遍歷實例代碼理解
map是一組鍵值對的組合,通俗理解類似一種特殊的數(shù)組,a[key]=val,只不過數(shù)組元素的下標是任意一種類型,而且數(shù)組的元素的值也是任意一種類型。有點類似python中的字典。通過"鍵"來取值,類似生活中的字典,已知索引,來查看對應(yīng)的信息2021-09-09spring boot整合log4j2及MQ消費處理系統(tǒng)日志示例
這篇文章主要為大家介紹了spring boot整合log4j2及MQ消費處理系統(tǒng)日志的示例過程,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步2022-03-03javaCV開發(fā)詳解之推流器和錄制器的實現(xiàn)
這篇文章主要介紹了javaCV開發(fā)詳解之推流器和錄制器實現(xiàn),對JavaCV感興趣的同學(xué),可以參考下2021-04-04SpringBoot Logback日志記錄到數(shù)據(jù)庫的實現(xiàn)方法
這篇文章主要介紹了SpringBoot Logback日志記錄到數(shù)據(jù)庫的實現(xiàn)方法,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-11-11