开发者社区> 问答> 正文

jdbc连接 mysql批量操作返回值

前提 利用mysql jdbc 批量操作 插入(调用executeBatch()方法 返回的是 int[] 数组)12条数据
"jdbc:mysql://localhost:3307/ss?useUnicode=true&characterEncoding=UTF-8"
返回的int [] [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]
加上rewriteBatchedStatements=true 返回 int[] [12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12]
为什么会出现这种情况 求大神解释

展开
收起
落地花开啦 2016-02-18 15:25:02 2679 0
1 条回答
写回答
取消 提交回答
  • 喜欢技术,喜欢努力的人

    MySQL Jdbc驱动在默认情况下会无视executeBatch()语句,把我们期望批量执行的一组sql语句拆散,一条一条地发给MySQL数据库,直接造成较低的性能。所以返回的数组中每次影响的行数都是1。
    只有把rewriteBatchedStatements参数置为true, 驱动才会帮你批量执行SQL,12条sql一起执行,一共影响行数就是12行了。

    2019-07-17 18:44:02
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
One Box: 解读事务与分析一体化数据库 HybridDB for MySQL 立即下载
One Box:解读事务与分析一体化数据库HybridDB for MySQL 立即下载
如何支撑HTAP场景-HybridDB for MySQL系统架构和技术演进 立即下载

相关镜像