代码如下:
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的实例讲解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持服务器之家。