mybatis连接MySQL8出现的问题解决方法
时间:2022-02-12 09:19:36|栏目:JAVA代码|点击: 次
使用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
重启项目后,一切终于正常了。。。。。。


阅读排行
- 1Java Swing组件BoxLayout布局用法示例
- 2java中-jar 与nohup的对比
- 3Java邮件发送程序(可以同时发给多个地址、可以带附件)
- 4Caused by: java.lang.ClassNotFoundException: org.objectweb.asm.Type异常
- 5Java中自定义异常详解及实例代码
- 6深入理解Java中的克隆
- 7java读取excel文件的两种方法
- 8解析SpringSecurity+JWT认证流程实现
- 9spring boot里增加表单验证hibernate-validator并在freemarker模板里显示错误信息(推荐)
- 10深入解析java虚拟机




