jdbc连接 mysql批量操作返回值-问答-阿里云开发者社区-阿里云

开发者社区> 问答> 正文

jdbc连接 mysql批量操作返回值

落地花开啦 2016-02-18 15:25:02 1253

前提 利用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]
为什么会出现这种情况 求大神解释

Java 关系型数据库 MySQL 数据库连接
分享到
取消 提交回答
全部回答(1)
  • 落地花开啦
    2019-07-17 18:44:02

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

    0 0
+ 订阅

分享数据库前沿,解构实战干货,推动数据库技术变革

推荐文章
相似问题