使用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