sql = "select a, b from aaa order by dbms_random.value";
List<Map<String, Object>> listQy = this.getJdbcTemplate().queryForList(sql);
final List<Map<String, Object>> listQy1 = listQy;
String sqlUp = "insert into bbb(Z,X,V,B ) "
+ "select ?,?,sysdate,? from ccc where C =? and N=?";
this.getJdbcTemplate().batchUpdate(sqlUp, new BatchPreparedStatementSetter() {
public int getBatchSize() {
return listQy1.size();
}
public void setValues(PreparedStatement ps, int i) throws SQLException {
ps.setString(1,Z);
ps.setString(2, X);
ps.setString(3, B);
ps.setString(4, ((Map) listQy1.get(i)).get("O") == null ? ""
: ((Map) listQy1.get(i)).get("O").toString());
ps.setString(5, N);
}
});
public int getBatchSize();用来返回批次的大小
public void setValues(PreparedStatement ps,int i);
用来为PreparedStatement设值。
参数说明:
ps:我们将要设值的PreparedStatement
i:在这个批次中,正在执行操作的索引,从0算起。
本文详细介绍了如何使用SQL查询结合JdbcTemplate进行数据库操作,包括随机查询与批量插入数据的过程,展示了数据库交互的高效实现。
6490

被折叠的 条评论
为什么被折叠?



