首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  Java

求教 jdbctemplate 的 rowmapper 处理如何提前结束

  •  
  •   cstj0505 · 293 天前 · 559 次点击
    这是一个创建于 293 天前的主题,其中的信息可能已经有所发展或是发生改变。
          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 的整个处理。

    2 回复  |  直到 2019-03-01 13:23:57 +08:00
        1
    lff0305   289 天前
    建议用查询条件来区分,
    没法区分的话建议直接用原生的 jdbc resultset 来控制,总之如果是一个大表的话这种对数据库服务器的压力肯定会很大,
    建议用多次查询每次小批量的数据
        2
    cstj0505   282 天前
    @lff0305 多谢,查询条件不受控制,最后通过主动抛异常来解决的。
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   804 人在线   最高记录 5043   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.3 · 22ms · UTC 21:59 · PVG 05:59 · LAX 13:59 · JFK 16:59
    ♥ Do have faith in what you're doing.