温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

mybatis连接MySQL8出现的问题解决方法

发布时间:2020-10-11 14:02:25 来源:脚本之家 阅读:151 作者:pp153 栏目:编程语言

使用MySQL8,在整合ssm框架,用mybatis逆向工程生成的代码测试时,执行到数据库查询前均正常,但进行查询时,便卡主没有反应了,设置了日志、try catch等也不报错,页面就在那一直转,之前mybatis自动生成代码都是正常的,然后在测试类中,使用Connection进行连接测试并查询数据库,也是能够正常查询到数据的:

Connection conn = null;
try {
  String userName = "root";
  String password = "111@tesT";
  String jdbcurl = "jdbc:mysql://localhost:3306/test?useUnicode=true&useSSL=false&autoReconnect=true&characterEncoding=UTF-8";
  Class.forName("com.mysql.jdbc.Driver").newInstance();
  conn = DriverManager.getConnection(jdbcurl, userName, password);
  String sql = "select * from tb_user";
  PreparedStatement pstmt = conn.prepareStatement(sql);
  ResultSet rs = pstmt.executeQuery();
  String result = "";
  while (rs.next()) {
    int id = rs.getInt("id");
    String name = rs.getString("username");
    String status = rs.getString("phone");
    result += id + "\t" + name + "\t" + status + "\n";
  }
  System.out.println(result);

而逆向工程的却不行:

UserExample example = new UserExample();
UserExample.Criteria criteria = example.createCriteria();
criteria.andIdEqualTo(userId);
List<User> list = userMapper.selectByExample(example);//这一步进去后就出不来了。。。

经过确认ssm其他配置文件都没有发现有问题,然后就想是不是自己用的MySQL8版本的问题,毕竟之前使用Navicat连接MySql8也是出了好几个问题,于是便将mysql-connect-java版本由5.1.6升级为8.0.11,并修改了db.properties文件:

#数据库连接 注意 文件内不要留有空格
jdbc.driver=com.mysql.cj.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/test?useSSL=false&useUnicode=true&characterEncoding=UTF8&serverTimezone=GMT
jdbc.username=root
jdbc.password=111@tesT

重启项目后,一切终于正常了。。。。。。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持亿速云。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI