精华内容
下载资源
问答
  • 关于MySQL8.0版本的jdbc连接问题 MySQL8.0和低版本不同的地方解决办法 问题描述: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL syntax; 在eclipse连接数据库时...

    关于MySQL8.0版本的jdbc连接问题

    MySQL8.0和低版本不同的地方解决办法

    问题描述:

    com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL syntax;

    在eclipse连接数据库时数据库版本较高造成了数据库连接失败,在这里插入图片描述

    解决办法

    需要下载更加高版本的jar包,

    在这里插入图片描述
    同时需要数据库配置文件进行修改,特别注意红框中的变量:DB_DRIVER要写com.mysql.cj.jdbc.Driver,并且DB_URL后面要加上useSSL和serverTimezone
    在这里插入图片描述

    展开全文
  • 1.先创建一个JSP项目。...注:jdbc版本必须支持Mysql版本,一般高版本jdbc驱动会支持略数据库版本,如:jdbc 8.0.20支持MySql8.0.19版本。此处不做过多讲解,版本匹配可自行查询。 不支持的版本会

    1.先创建一个JSP项目。不会创建的可以参考csdn文章https://blog.csdn.net/qq_41765030/article/details/106086177
    2.下载Mysql 的jdbc驱动,官网下载地址:https://dev.mysql.com/downloads/connector/j/
    注:jdbc版本必须支持Mysql版本,一般高版本jdbc驱动会支持略低数据库版本,如:jdbc 8.0.20支持MySql8.0.19版本。此处不做过多讲解,版本匹配可自行查询。
    不支持的版本会造成无法连接的错误
    此处演示最新版本下载
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    此处下载的为zip,下载后解压,里面有一个后缀为.jar的数据包。接下来要使用此jar包

    3.回到我们的jsp项目中,打开目录WEB-INF中lib目录,将下载好的驱动**jar包 !jar包!jar包!**放入lib目录中
    注:如果WEB-INF中没有lib目录则手动创建一个名为lib的文件夹
    在这里插入图片描述
    4.在MySql中新建数据库。
    新建一个表
    可以通过代码创建

    在这里插入代码片

    CREATE TABLE `websites` (
    	`id` INT ( 11 ) NOT NULL AUTO_INCREMENT,
    	`name` CHAR ( 20 ) NOT NULL DEFAULT '' COMMENT '站点名称',
    	`url` VARCHAR ( 255 ) NOT NULL DEFAULT '',
    	`alexa` INT ( 11 ) NOT NULL DEFAULT '0' COMMENT 'Alexa 排名',
    	`country` CHAR ( 10 ) NOT NULL DEFAULT '' COMMENT '国家',
    PRIMARY KEY ( `id` ) 
    ) ENGINE = INNODB AUTO_INCREMENT = 10 DEFAULT CHARSET = utf8;
    

    然后插入数据

    INSERT INTO `websites`
    VALUES
    	( '1', '百度', 'https://www.baidu.cm/', '1', 'CN' ),
    	( '2', 'CSDN', 'https://www.csdn.net', '1', 'CN' ),
    	( '3', '腾讯', 'http://www.qq.com', '1', 'CN' ),
    	( '4', '微博', 'http://weibo.com/', '1', 'CN' ),
    	( '5', '淘宝', 'https://www.taobao.com/', '1', 'CN' );
    

    5.编辑index.jsp代码如下 版本关系在注释中讲解

    <%@ page language="java" contentType="text/html; charset=UTF-8"
             pageEncoding="UTF-8"
             import="java.sql.*"
    %>
    <!DOCTYPE html>
    <html>
    <head>
        <meta charset="UTF-8">
        <title>Insert title here</title></head>
    <body><%
        //star
        Class.forName("com.mysql.cj.jdbc.Driver");
        String url = "jdbc:mysql://localhost:3306/world?useSSL=false&serverTimezone=UTC";
        //    8.0以后版本加载驱动
        //    3306为端口号根据自己数据库端口设置--
        //    ...3306/"数据库名称"?useSSL......
        //    com.mysql.jdbc.Driver 更换为 com.mysql.cj.jdbc.Driver。
        //    MySQL 8.0 以上版本不需要建立 SSL 连接的,需要显示关闭。
        //end
        //
    
        //star
        //    Class.forName("com.mysql.jdbc.Driver");
        //    String url = "jdbc:mysql://localhost:3306/world";
        //    8.0以前版本加载驱动方式
        //end
    
        String un = "root";         //MySql用户名
        String pa = "123456";       //MySql密码
        Connection con = DriverManager.getConnection(url, un, pa);
        Statement st = con.createStatement();
        String sql = "select * from websites";
        ResultSet rs = st.executeQuery(sql);
    %>
    <table border="1" cellpadding="0" cellspacing="0">
        <caption>用户列表</caption>
        <tr>
            <td>id</td>
            <td>用户名</td>
            <td>密码</td>
        </tr>
        <%while (rs.next()) { %>
        <tr>
            <td><%=rs.getInt("id") %>
            </td>
            <td><%=rs.getString("name") %>
            </td>
            <td><%=rs.getString("url") %>
            </td>
        </tr>
        <%} %></table>
    </body>
    </html>
    

    6.查询结果 。 成功!

    在这里插入图片描述
    总结:jsp连接MySQL时除了代码逻辑和拼写错误以外,jdbc也可能出现版本不匹配问题,一定要使用兼容的jdbc驱动,不同的版本中连接代码有些差异。
    附:8.0以前的版本和8.0以后版本驱动加载代码区别

    Class.forName("com.mysql.jdbc.Driver");//8.0以前驱动加载
    
    Class.forName("com.mysql.cj.jdbc.Driver");//8.0以后驱动加载
    
    String url = "jdbc:mysql://localhost:3306/world";
    //8.0以前url代码
    
    String url = "jdbc:mysql://localhost:3306/world?useSSL=false&serverTimezone=UTC";
    //8.0以后url代码
    
    展开全文
  • 上次jdbc连接数据库出现错误,原因是因为高版本mysql用了低版本连接配置。在mysql6之后,就将连接配置进行了修改。如果要使用高版本mysql6以后的版本),可修改连接配置。 mysql5的如下: jdbc.driver=...

    上次jdbc连接数据库出现错误,原因是因为高版本的mysql用了低版本连接配置。在mysql6之后,就将连接配置进行了修改。如果要使用高版本(mysql6以后的版本),可修改连接配置。
    mysql5的如下:
    在这里插入图片描述

    jdbc.driver=com.mysql.jdbc.Driver
    jdbc.url=jdbc:mysql://127.0.0.1:3306/test?characterEncoding=utf-8
    jdbc.username=xxx
    jdbc.password=xxx
    

    mysql6的如下:在这里插入图片描述

    jdbc.driver=com.mysql.cj.jdbc.Driver
    jdbc.url=jdbc:mysql://127.0.0.1:3306/test?characterEncoding=utf-8
    jdbc.username=xxx
    jdbc.password=xxx
    
    展开全文
  • Java中使用jdbc连接mysql

    2019-07-21 16:12:48
    Eclipse工具连接mysql前,eclipse版本需要对应上mysqljar包,太或太都会报错。 把jar复制到项目的lib目录下,右键Build Path 选中add build path添加到项目中。 以下是封装好的jdbc连接数据库代码 package ...

    Eclipse工具连接mysql前,eclipse版本需要对应上mysqljar包,太高或太低都会报错。
    把jar复制到项目的lib目录下,右键Build Path 选中add build path添加到项目中。

    以下是封装好的jdbc连接数据库代码

    package cn.sql.util;
    
    import java.sql.PreparedStatement;
    import java.sql.Statement;
    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.SQLException;
    
    public class DBUtil {
    	public static Connection getConnection() {
    		String Driver = "com.mysql.jdbc.Driver"; // 连接数据库的方法
    		String URL = "jdbc:mysql://localhost:3306/java"; // java为数据库的名字
    		String Username = ""; // 用户名
    		String Password = ""; // 密码
    		Connection con = null;
    		try {
    			Class.forName(Driver);
    			con = DriverManager.getConnection(URL, Username, Password);
    		} catch (ClassNotFoundException e) {
    			// TODO Auto-generated catch block
    			e.printStackTrace();
    		} // 加载数据库驱动
    		catch (SQLException e) {
    			// TODO Auto-generated catch block
    			e.printStackTrace();
    		}
    
    		return con;
    	}
    	
    	public static Statement getStatement(){
    		Connection conn = getConnection();
    		Statement stmt = null;
    		try {
    			stmt = conn.createStatement();
    		} catch (SQLException e) {
    			// TODO Auto-generated catch block
    			e.printStackTrace();
    		}
    		return stmt;
    	}
    	
    	public static PreparedStatement getPreparedStatement(String sql){
    		Connection conn = getConnection();
    		PreparedStatement pr = null;
    		try {
    			pr = conn.prepareStatement(sql);
    		} catch (SQLException e) {
    			// TODO Auto-generated catch block
    			e.printStackTrace();
    		}
    		return pr;
    		
    		
    	}
    	
    }
    

    设置好封装类后,需要对数据库进行改动时,直接调用对应的处理块代码即可。

    展开全文
  • 报错com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: Could not create 原因:是驱动和数据库不匹配,版本...用数据库是mysql8.0的话,把驱动换成高版本的就是了 ========== 这个报错巨坑 ...
  • 1,情景: 项目A 数据库为Oracle,因业务需求...通过linux服务器 telnet mysql的内网地址端口都没有问题(至此排除了账号密码,地址端口的错误,并且jar包低版本高版本都试过没有用),那么问题还有可能出在哪呢?
  • 好多次在使用SSM连接MySql数据库时都会遇到相类似的问题,比如数据库驱动,高版本的为com.mysql.cj.jdbc.Driver,而低版本为com.mysql.jdbc.Driver。其实这个还好解决,到处都可以搜到。 最难解决的是关于高版本时...
  • 第一种:Mysql驱动版本,建议使用5.x版本 java.lang.AbstractMethodError: Method com/mysql/jdbc/ResultSet.isClosed()Z is abstract 第二种:Mysql版本,6.0以上,需要在uri路径后面配置serverTimezone...
  • 版本JDBC连接数据库 Class.forName("com.mysql.cj.jdbc.Driver"); Class.forName("com.mysql.jdbc.Driver"); conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/...
  • 参数名称 参数说明 缺省值 最低版本要求 user 数据库用户名(用于连接数据库) ...MySQL高版本需要指明是否进行SSL连接mysql连接字符串url中加入ssl=true或者false即可 characterEncoding ...
  • 今天打算在JDBC的基础的加上DBPC连接池(MySQL数据库)报了一个这个错误: java.lang.AbstractMethodError: ...表示:当前mysql驱动包比较,需要下载高版本的驱动包 mysql 各版本驱动jar包下载地址链接地址 ...
  • MySQL版本与驱动不匹配问题 MySQL5.7以下版本 ---- mysql-connector-java 5.x.x MySQL5.7以上版本 ---- mysql-connector-java 8.0.21 ...低版本数据库使用高版本驱动时会产生错误:The server time zone value
  • JDBC连接数据库时失败:java.lang.AbstractMethodError: com.mysql.jdbc.Connection.isValid(I)Z 用的tomcat8.5,MySQL驱动mysql-...MySQL驱动版本太,下载高版本mysql-connector-java-8.0.12.jar 即可。 下载...
  • Kafka Eagle连接mysql问题

    2020-07-08 14:21:52
    Kafka Eagle安装问题一、问题描述二、解决方法三、Eagle链接 一、问题描述 ...其主要问题是mysql驱动过, 需要用更高版本的的Eagle 本人尝试过从1.2版本起,到2.0版本的Eagle,仍然无法连接mysql 8.0.
  • Java连接MySQL的常见问题 电脑不久前重做系统,很多东西忘记以前怎么配置的,今天jdbc连接MySQL的时候发生了一点儿问题,...可能原因及解决方法1:MySQL版本高,而mysql的jar版本,导致编码错误,所以需要把...
  • mysql数据库连接url

    2020-09-12 11:14:34
    高版本 static String url = "jdbc:mysql://localhost:3306/test?serverTimezone=UTC"; 低版本 datasource.connection.url=jdbc:mysql://localhost:3306/db_student_ssm?useUnicode=true&characterEncoding=utf...
  • jsp连接mysql详解

    千次阅读 2018-11-10 01:24:31
    百度云分享:https://pan.baidu.com/s/1Im2VgsSzSenZuL_0Y0p9gw 密码:druv (我的jdk版本比较,所以能支持最新版本的jar,如果提示你jre版本,可以去官网下一个版本5以下的应该就可以了) 3.将 jar包...
  • 很明显是mysql连接驱动依赖的版本不匹配问题,一般出现在使用低版本连接驱动连接版本mysql情况下,解决方法是在maven中央仓库中下载高版本的mysql连接驱动,获取在pom中加入如下坐标: <!--mysql驱动--> &...
  • tomcat 连接mysql 使用DBCP出现错误 错误如图: 这是由于mysql-connector-java 的jar包版本有些,可在mysql官网下载一点的版本,但最好不要下载最新版,因为最新版的不怎么稳定。 ...
  • 检查Class.forName代码,版本mysql-connector的jar包要把Class.forName的代码写成Class.forName(“com.mysql.cj.jdbc.Driver”); 这相比低版本mysql-connector的jar包多了.cj
  • 2 连接数据库的较的jar包版本会与较高版本mysql版本有冲突; 3 通过把mysql 8.0的版本降到5.5, jar包仍使用较高的 mysql-connector-java-5.1.7-bin.jar, 完美解决冲突. 1-通过构造方法创建数据源对象 ...
  • SpringBoot2.1在你没有指定MySQL驱动版本的情况下它自动依赖的驱动是8.0+很版本,这是由于数据库和系统时区差异所造成的,在jdbc连接的url后面加上serverTimezone=GMT即可解决问题,如果需要使用gmt+8时区,需要...
  • 获取数据库连接时出现Caused by: java.sql.SQLException: Unknown system variable ‘tx_isolation’,百度后发现是mysql-connector-java的版本,数据库的版本,因此需要升级mysql-connector-java的版本,...
  • 1.连接数据库的驱动版本不兼容。一般是版本。 上课是一个比较版本3.1.10 换成一个版本8.0.018 翻译:从服务器接收到字段“255”的未知字符集索引。 可以解决! 2.Class.forName值没有最新的 Loading ...
  • spirngBoot连接msql

    2019-09-15 09:43:39
    注意事项:配置mysql-connector-java的版本, //不同版本的mysql的驱动不一样 //比较的版本 spring.datasource.driver-class-name=com.mysql.jdbc.Driver //高版本 spring.datasource.driv...
  • 项目连接mysql数据库出现 Unknown system variable ‘tx_isolation...解决办法:换高版本的数据库驱动 Cannot resolve com.mysq.jdbc.Connection.ping method. Will use ‘SELECT 1’ instead. 是由于mysql与drui...
  • 连接数据库出现的各种异常(Java) 由于本人的数据库版本较高 为8.0.13版本 而在连接数据库的时候用的mysql-connetor-java是5.1.37版本。导致我数据库一直连不上。...是低版本的写法,而高版本的写法是
  • 关于JDBC连接数据库的一些常见错误记录1.加载驱动的路径选择2.连接数据库的URL设置①useSSL根据需要设置为true或者false,注意使用&&连接②一般要进行时区的设置③还有有时候需要进行字符集的设置3.环境的...

空空如也

空空如也

1 2 3
收藏数 47
精华内容 18
关键字:

高版本jdbc连接低版本mysql

mysql 订阅