jdbcTemplate.query(query,
new RowMapper<Object>() {
@Override
public Object mapRow(ResultSet rs, int rowNum) throws SQLException {
String data = Utils.ResultSettoString(rs);
kafkaTemplate.send(kafkaTopic, tableName, data);
return true;
}
});
代码如上,对于查询到的每条数据转换以后发出去,但是有时候有些表比较大,执行时间长,可能需要中断什么的,这时候该怎么中断 rowmapper 的整个处理。
1
lff0305 2019-02-22 14:16:35 +08:00
建议用查询条件来区分,
没法区分的话建议直接用原生的 jdbc resultset 来控制,总之如果是一个大表的话这种对数据库服务器的压力肯定会很大, 建议用多次查询每次小批量的数据 |