猿问

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

我正在使用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检查?非常感谢您!


翻翻过去那场雪
浏览 280回答 2
2回答

呼唤远方

为了得到检查列的大小。将所有列放入数组,然后检查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);
随时随地看视频慕课网APP

相关分类

Java
我要回答