为了账号安全,请及时绑定邮箱和手机立即绑定

使用Spring jdbcTemplate时如何检查列名是否存在?

使用Spring jdbcTemplate时如何检查列名是否存在?

翻翻过去那场雪 2021-04-30 18:22:33
我正在使用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 回答

?
呼唤远方

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);


查看完整回答
反对 回复 2021-05-12
  • 2 回答
  • 0 关注
  • 279 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信