记录:397
场景:使用JdbcTemplate从一个数据库批量查出数据存放在List<Map<String, Object>>中,把查出的结果数据批量写入到另一个数据库。
版本:JDK 1.8,SpringBoot 2.6.3
关键类01:org.springframework.jdbc.core.JdbcTemplate
关键类02:org.springframework.jdbc.core.BatchPreparedStatementSetter
1.批量查询和批量写入
public static void main(String[] args) {
// 1.获取两个数据库的JdbcTemplate
JdbcTemplate db01 = getJdbcTemplateDb01();
JdbcTemplate db02 = getJdbcTemplateDb02();
// 2.查询SQL和插入SQL
String db01SelectSQL = getSelectSQL();
String db02InsertSQL = getInsertSQL();
// 3.批量查询
List<Map<String, Object>> db01Result = db01.queryForList(db01SelectSQL);
// 4.批量写入
db02.batchUpdate(db02InsertSQL, new BatchPreparedStatementSetter() {
@Override
public void setValues(PreparedStatement ps, int i) throws SQLException {
Map<String, Object> oneRow = db01Result.get(i);
ps.setObject(1, oneRow.get("CITY_ID"));
ps.setObject(2, oneRow.get("CITY_NAME"));
ps.setObject(3, oneRow.get("LAND_AREA"));
ps.setObject(4, oneRow.get("POPULATION"));
ps.setObject(5, oneRo

本文展示了如何使用JdbcTemplate从一个数据库查询数据并存储到List<Map<String,Object>>中,然后将这些数据批量写入到另一个数据库。主要涉及的关键类包括JdbcTemplate和BatchPreparedStatementSetter,以及DruidDataSource的配置。整个过程包括查询SQL、插入SQL的编写,以及JdbcTemplate的batchUpdate方法的使用。
最低0.47元/天 解锁文章
1235

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



