在插入查询中,我使用SEQUENCE,因此,我拒绝使用SimpleJdbcInsert .... executeBatch(data);。
String sql = "INSERT INTO "+ schema +"."+ tableName +" (id, " + fieldName1 + ", " + fieldName2 + ") VALUES (BUF_SEQ.nextval, ?, ?)";
List<Object[]> recordValues = new ArrayList<Object[]>();
//... add values of records to recordValues list
// run bash update for insert
jdbcTemplate.batchUpdate(sql, recordValues);
也许有人可以建议使用Springframework jdbc的更好方法?
要插入大量记录。
在SQL注入中测试字段名称。
?
最佳答案
1)代替在插入查询中调用序列,而是在表的ID列上创建一个触发器以进行插入。以ref:How to create id with AUTO_INCREMENT on Oracle?
2)现在使用spring的Batch update进行批量插入,即jdbcTemplate.batchUpdate
现在,在您的插入查询中,您不再需要定义id,每次在表上进行插入时,都会触发触发器,并且id会增加。
3)使用Prepared Statement进行插入查询,以避免sql注入。
关于java - 有什么更好的方法检查JdbcTemplate.batchUpdate中的名称字段,名称表的SQL注入(inject)?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31873777/