当前位置:   article > 正文

【踩坑笔记】解决Java操作MySQL8版本中与Batch相关的操作_mysql 8 executebatch lock wait

mysql 8 executebatch lock wait

亲测有效!!!!搞了1个小时终于弄好了,如果有不对的地方请指出,防止带偏大家

我们在使用java操作数据库,,如果使用的MySQL版本为8(此处以8.0.27为例),可能会出现的问题

1.驱动,使用java连接MySQL8.0.27需要下载下面的驱动

下载mysql-connector-java-8.0.11.jaricon-default.png?t=LBL2https://dev.mysql.com/downloads/file/?id=477058

2.java连接数据库(连接的数据库名为test,若数据库名称不同自行在url中进项修改)

我们使用Java操作向MySQL中添加大量的数据,如果需要使用与Batch有关的操作(addBatch(),executeBatch(),clearBatch()),则需要进行如下的操作

① 连接数据库时与MySQL5版本有所不同(不适用properties文件直接连接)

  1. public void test4() throws Exception {
  2. String url = "jdbc:mysql://localhost:3306/test?serverTimezone=GMT%2B8&useUnicode=true&characterEncoding=utf8&autoReconnect=true&useSSL=false";
  3. String user = "root";
  4. String password = "abc123";//密码为自己MySQL设置
  5. Class.forName("com.mysql.cj.jdbc.Driver");//此处注意
  6. Connection conn = DriverManager.getConnection(url, user, password);
  7. System.out.println(conn);
  8. }

② 使用properties文件,需要对文件中的参数进项修改,我们如果想使用与Batch有关的操作,MySQL默认情况下是禁止的,我们需要进项修改(注意密码为自己设置的)

  1. ​diverClass=com.mysql.cj.jdbc.Driver
  2. url=jdbc:mysql://localhost:3306/test?serverTimezone=GMT%2B8&useUnicode=true&characterEncoding=utf8&autoReconnect=true&useSSL=false&rewriteBatchedStatements=true
  3. user=root
  4. password=abc123

此时,我们再执行Batch相关的操作就可以正常执行

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/itdef/article/detail/61819
推荐阅读
相关标签
  

闽ICP备14008679号