我正在使用jdbcTemplate将数据写入我的Oracle DB。我想在同一个表中但在两个不同的环境中重用我的代码,而这两个环境之间的区别只是缺少一列。因此,在写入数据之前,我需要检查该列是否存在以使用正确的sql查询,否则我将得到一个异常。所以我想有这样的事情:if(column3IsMissing){ String sql = String.format("insert into %s %s", MYTABLE, "(column1, column2) values (?, ?)");}else{ String sql = String.format("insert into %s %s", MYTABLE, "(column1, column2, column3) values (?, ?, ?)");}jdbcTemplate.batchUpdate(sql, data, types);谁能给我提示我应该如何在此处实现column3IsMissing检查?非常感谢您!
2 回答
![?](http://img1.sycdn.imooc.com/545867280001ed6402200220-100-100.jpg)
呼唤远方
TA贡献1856条经验 获得超11个赞
为了得到检查列的大小。将所有列放入数组,然后检查columnSize = 2。
String[] columnList = {column1,column2,column3);
if(columnList.size()==2){
String sql = String.format("insert into %s %s", MYTABLE,
"(column1, column2) values (?, ?)");
}else{
String sql = String.format("insert into %s %s", MYTABLE,
"(column1, column2, column3) values (?, ?, ?)");
}
jdbcTemplate.batchUpdate(sql, data, types);
添加回答
举报
0/150
提交
取消