代码如下:
java" id="highlighter_740666">
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
|
/**
* @param ve 接收到的消息的CHGLIST
* @param paramList MQ消息中的SQL参数
* @param t 泛型对象
* @param table 数据表
* @param list 可执行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= "" ; //可执行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 动态生成SQL的实例讲解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持服务器之家。