-
关于MySQL8.0版本的jdbc连接问题
2019-12-14 10:03:04关于MySQL8.0版本的jdbc连接问题 MySQL8.0和低版本不同的地方解决办法 问题描述: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL syntax; 在eclipse连接数据库时... -
IDEA中JSP项目通过jdbc连接MySql数据库。Mysql版本连接不上问题解决办法。MySql8.0前后版本连接区别
2020-05-13 00:10:111.先创建一个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连接mysql5与mysql6的区别
2019-05-15 18:30:22上次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:48Eclipse工具连接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; } }
设置好封装类后,需要对数据库进行改动时,直接调用对应的处理块代码即可。
-
mysql驱动版本过低 报错导致数据库远程连接不上
2019-11-08 19:10:13报错com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: Could not create 原因:是驱动和数据库不匹配,版本...用数据库是mysql8.0的话,把驱动换成高版本的就是了 ========== 这个报错巨坑 ... -
linux服务器上部署tomcat 通过jdbc getConnection连接阿里云mysql数据库获取不到连接
2020-10-28 10:32:201,情景: 项目A 数据库为Oracle,因业务需求...通过linux服务器 telnet mysql的内网地址端口都没有问题(至此排除了账号密码,地址端口的错误,并且jar包低版本到高版本都试过没有用),那么问题还有可能出在哪呢? -
SSM关于MySql高版本的配置踩坑
2020-05-08 22:11:49好多次在使用SSM连接MySql数据库时都会遇到相类似的问题,比如数据库驱动,高版本的为com.mysql.cj.jdbc.Driver,而低版本为com.mysql.jdbc.Driver。其实这个还好解决,到处都可以搜到。 最难解决的是关于高版本时... -
MyBtis连接过程中因为Mysql驱动版本问题的两种错误
2020-05-11 15:52:44第一种:Mysql驱动版本过低,建议使用5.x版本 java.lang.AbstractMethodError: Method com/mysql/jdbc/ResultSet.isClosed()Z is abstract 第二种:Mysql版本过高,6.0以上,需要在uri路径后面配置serverTimezone... -
com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: Could not create connection
2019-03-12 16:36:17老版本JDBC连接数据库 Class.forName("com.mysql.cj.jdbc.Driver"); Class.forName("com.mysql.jdbc.Driver"); conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/... -
MySQL JDBC URL各参数详解
2020-08-08 23:50:54参数名称 参数说明 缺省值 最低版本要求 user 数据库用户名(用于连接数据库) ...MySQL在高版本需要指明是否进行SSL连接 在mysql连接字符串url中加入ssl=true或者false即可 characterEncoding ... -
DBPC连接池(MySQL数据库)报错:java.lang.AbstractMethodError: com.mysql.jdbc.Connection.isValid(I)Z
2019-06-26 18:06:23今天打算在JDBC的基础的加上DBPC连接池(MySQL数据库)报了一个这个错误: java.lang.AbstractMethodError: ...表示:当前mysql驱动包比较低,需要下载高版本的驱动包 mysql 各版本驱动jar包下载地址链接地址 ... -
jdbc数据库连接出现The server time zone value
2020-11-12 13:50:29MySQL版本与驱动不匹配问题 MySQL5.7以下版本 ---- mysql-connector-java 5.x.x MySQL5.7以上版本 ---- mysql-connector-java 8.0.21 ...低版本数据库使用高版本驱动时会产生错误:The server time zone value -
java.lang.AbstractMethodError: com.mysql.jdbc.Connection.isValid(I)Z
2020-02-20 09:03:34JDBC连接数据库时失败: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:52Kafka Eagle安装问题一、问题描述二、解决方法三、Eagle链接 一、问题描述 ...其主要问题是mysql驱动过低, 需要用更高版本的的Eagle 本人尝试过从1.2版本起,到2.0版本的Eagle,仍然无法连接上mysql 8.0. -
Java连接MySQL的常见问题
2020-04-03 20:41:30Java连接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包... -
(已解决)maven中 java.sql.SQLException: com.mysql.cj.jdbc.Driver 报错的解决方法
2020-07-03 16:57:31很明显是mysql连接驱动依赖的版本不匹配问题,一般出现在使用低版本连接驱动连接高版本mysql情况下,解决方法是在maven中央仓库中下载高版本的mysql连接驱动,获取在pom中加入如下坐标: <!--mysql驱动--> &... -
DBCP手动配置出现com.mysql.jdbc.Connection.isValid(I)Z 错误
2020-04-27 12:44:38tomcat 连接mysql 使用DBCP出现错误 错误如图: 这是由于mysql-connector-java 的jar包版本有些低,可在mysql官网下载高一点的版本,但最好不要下载最新版,因为最新版的不怎么稳定。 ... -
导入mysql-connector的jar包后无法连接到数据库
2020-10-08 21:23:16检查Class.forName代码,高版本mysql-connector的jar包要把Class.forName的代码写成Class.forName(“com.mysql.cj.jdbc.Driver”); 这相比低版本mysql-connector的jar包多了.cj -
[课本10.1.4]JDBC数据库连接池- C3P0数据源--通过构造方法创建数据源对象--通过配置文件创建数据源对象...
2018-11-24 10:53:002 连接数据库的较低的jar包版本会与较高版本的mysql版本有冲突; 3 通过把mysql 8.0的版本降到5.5, jar包仍使用较高的 mysql-connector-java-5.1.7-bin.jar, 完美解决冲突. 1-通过构造方法创建数据源对象 ... -
解决MySQL在SpringBoot2.1+版本出现The server time zone value 'Öйú±ê׼ʱ¼ä' is ...
2019-03-14 14:36:54SpringBoot2.1在你没有指定MySQL驱动版本的情况下它自动依赖的驱动是8.0+很高的版本,这是由于数据库和系统时区差异所造成的,在jdbc连接的url后面加上serverTimezone=GMT即可解决问题,如果需要使用gmt+8时区,需要... -
JDBC中设置事务的隔离级别
2020-08-26 11:44:09获取数据库连接时出现Caused by: java.sql.SQLException: Unknown system variable ‘tx_isolation’,百度后发现是mysql-connector-java的版本太低,数据库的版本太高,因此需要升级mysql-connector-java的版本,... -
学习mysql,连上数据库各种错误汇总。
2020-09-02 16:02:501.连接数据库的驱动版本不兼容。一般是版本过低。 上课是一个比较低的版本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报错,常见错误集合,看看你们有没有遇到过?
2020-01-02 19:14:43项目连接mysql数据库出现 Unknown system variable ‘tx_isolation...解决办法:换高版本的数据库驱动 Cannot resolve com.mysq.jdbc.Connection.ping method. Will use ‘SELECT 1’ instead. 是由于mysql与drui... -
连接数据库出现的各种异常(Java)+Maven的配置
2020-07-20 15:42:53连接数据库出现的各种异常(Java) 由于本人的数据库版本较高 为8.0.13版本 而在连接数据库的时候用的mysql-connetor-java是5.1.37版本。导致我数据库一直连不上。...是低版本的写法,而高版本的写法是 -
关于连接数据库的一些常见错误记录
2020-11-04 10:25:27关于JDBC连接数据库的一些常见错误记录1.加载驱动的路径选择2.连接数据库的URL设置①useSSL根据需要设置为true或者false,注意使用&&连接②一般要进行时区的设置③还有有时候需要进行字符集的设置3.环境的...