使用MySQL8,在整合ssm框架,用mybatis逆向工程生成的代碼測(cè)試時(shí),執(zhí)行到數(shù)據(jù)庫查詢前均正常,但進(jìn)行查詢時(shí),便卡主沒有反應(yīng)了,設(shè)置了日志、try catch等也不報(bào)錯(cuò),頁面就在那一直轉(zhuǎn),之前mybatis自動(dòng)生成代碼都是正常的,然后在測(cè)試類中,使用Connection進(jìn)行連接測(cè)試并查詢數(shù)據(jù)庫,也是能夠正常查詢到數(shù)據(jù)的:
創(chuàng)新互聯(lián)主要從事網(wǎng)站設(shè)計(jì)、成都網(wǎng)站制作、網(wǎng)頁設(shè)計(jì)、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務(wù)。立足成都服務(wù)仁布,十多年網(wǎng)站建設(shè)經(jīng)驗(yàn),價(jià)格優(yōu)惠、服務(wù)專業(yè),歡迎來電咨詢建站服務(wù):18980820575
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); Listlist = userMapper.selectByExample(example);//這一步進(jìn)去后就出不來了。。。
經(jīng)過確認(rèn)ssm其他配置文件都沒有發(fā)現(xiàn)有問題,然后就想是不是自己用的MySQL8版本的問題,畢竟之前使用Navicat連接MySql8也是出了好幾個(gè)問題,于是便將mysql-connect-java版本由5.1.6升級(jí)為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)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持創(chuàng)新互聯(lián)。