溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

mybatis連接MySQL8出現(xiàn)的問題解決方法

發(fā)布時間:2020-10-11 14:02:25 來源:腳本之家 閱讀:142 作者:pp153 欄目:編程語言

使用MySQL8,在整合ssm框架,用mybatis逆向工程生成的代碼測試時,執(zhí)行到數(shù)據(jù)庫查詢前均正常,但進(jìn)行查詢時,便卡主沒有反應(yīng)了,設(shè)置了日志、try catch等也不報錯,頁面就在那一直轉(zhuǎn),之前mybatis自動生成代碼都是正常的,然后在測試類中,使用Connection進(jìn)行連接測試并查詢數(shù)據(jù)庫,也是能夠正常查詢到數(shù)據(jù)的:

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);//這一步進(jìn)去后就出不來了。。。

經(jīng)過確認(rèn)ssm其他配置文件都沒有發(fā)現(xiàn)有問題,然后就想是不是自己用的MySQL8版本的問題,畢竟之前使用Navicat連接MySql8也是出了好幾個問題,于是便將mysql-connect-java版本由5.1.6升級為8.0.11,并修改了db.properties文件:

#數(shù)據(jù)庫連接 注意 文件內(nèi)不要留有空格
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

重啟項(xiàng)目后,一切終于正常了。。。。。。

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持億速云。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI