好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

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

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

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

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);

而逆向工程的却不行:

?

1

2

3

4

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文件:

?

1

2

3

4

5

#数据库连接 注意 文件内不要留有空格

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

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

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

原文链接:http://www.cnblogs.com/pp153/p/9220356.html

查看更多关于mybatis连接MySQL8出现的问题解决方法的详细内容...

  阅读:8次