Java连接mysql中遇到的一些问题及解决方法
2016-05-03 20:38
841 查看
0.要想用Java连接mysql数据库,首先装好JDK,配置好环境变量,将jdk*.*.*\lib放入classpath,将jdk*.*.*\bin放入path中(*.*.*表示版本号);其次安装好mysql数据库,然后下载连接数据库要用的驱动包,并配置环境变量(配置方法,将驱动包的路径放入classpath中)。
1.Java使用mysql-jdbc连接MySQL出现如下警告:
Establishing SSL connection without server's identityverification is not recommended. According to MySQL 5.5.45+, 5.6.26+ and 5.7.6+requirements SSL connection must be established by default if explicit optionisn't
set. For compliance with existing applications not using SSL theverifyServerCertificate property is set to 'false'. You need either toexplicitly disable SSL by setting useSSL=false, or set useSSL=true and providetruststore for server certificate verification.
原因是MySQL在高版本需要指明是否进行SSL连接。解决方案如下:
在mysql连接字符串url中加入ssl=true或者false即可,如下所示。
url=jdbc:mysql://127.0.0.1:3306/framework?characterEncoding=utf8&useSSL=true
2.对于错误:
要在url中加入serverTimezone=America/New_York,如下所示:
publicstatic final StringDBURL="jdbc:mysql://localhost:3306/d1?useSSL=true&useLegacyDatetimeCode=false&serverTimezone=America/New_York";
(解决网址:http://stackoverflow.com/questions/7605953/how-to-change-mysql-timezone-in-java-connection)
3.若修改环境变量还不能连接数据库,则将驱动包(mysql-connector-java-6.0.2-bin.jar)放到jdk下的jre\lib\ext文件夹下(D:\programfiles\Java\jdk1.8.0_91\jre\lib\ext)试试。
例如,如下图所示:
4.对于下列错误:
Exceptionin thread "main" java.lang.UnsupportedClassVersionError:com/mysql/jdbc/Driver : Unsupport
应该是jdk版本较低,而驱动包的版本较高造成的,暂时的解决办法是重新安装版本较高的JDK。
注意:当重新安装了JDK后要重新修改环境变量path和classpath,同时由于重新安装了JDK,可能会造成原有的eclipse不可用(例如位数的原因,导致不可用),此时要去下载合适的eclipse。
5.对于java.lang.ClassNotFoundException:com.mysql.cj.jdbc.Driver....这种错误
很可能是由于驱动包的路径不,多种com.mysql.cj.jdbc.Driver中有拼写错误导
4000
致,找不到Driver类,
因为将驱动包用winRAR打开后,Driver的路径如图所示:
1.Java使用mysql-jdbc连接MySQL出现如下警告:
Establishing SSL connection without server's identityverification is not recommended. According to MySQL 5.5.45+, 5.6.26+ and 5.7.6+requirements SSL connection must be established by default if explicit optionisn't
set. For compliance with existing applications not using SSL theverifyServerCertificate property is set to 'false'. You need either toexplicitly disable SSL by setting useSSL=false, or set useSSL=true and providetruststore for server certificate verification.
原因是MySQL在高版本需要指明是否进行SSL连接。解决方案如下:
在mysql连接字符串url中加入ssl=true或者false即可,如下所示。
url=jdbc:mysql://127.0.0.1:3306/framework?characterEncoding=utf8&useSSL=true
2.对于错误:
要在url中加入serverTimezone=America/New_York,如下所示:
publicstatic final StringDBURL="jdbc:mysql://localhost:3306/d1?useSSL=true&useLegacyDatetimeCode=false&serverTimezone=America/New_York";
(解决网址:http://stackoverflow.com/questions/7605953/how-to-change-mysql-timezone-in-java-connection)
3.若修改环境变量还不能连接数据库,则将驱动包(mysql-connector-java-6.0.2-bin.jar)放到jdk下的jre\lib\ext文件夹下(D:\programfiles\Java\jdk1.8.0_91\jre\lib\ext)试试。
例如,如下图所示:
4.对于下列错误:
Exceptionin thread "main" java.lang.UnsupportedClassVersionError:com/mysql/jdbc/Driver : Unsupport
应该是jdk版本较低,而驱动包的版本较高造成的,暂时的解决办法是重新安装版本较高的JDK。
注意:当重新安装了JDK后要重新修改环境变量path和classpath,同时由于重新安装了JDK,可能会造成原有的eclipse不可用(例如位数的原因,导致不可用),此时要去下载合适的eclipse。
5.对于java.lang.ClassNotFoundException:com.mysql.cj.jdbc.Driver....这种错误
很可能是由于驱动包的路径不,多种com.mysql.cj.jdbc.Driver中有拼写错误导
4000
致,找不到Driver类,
因为将驱动包用winRAR打开后,Driver的路径如图所示:
相关文章推荐
- java集合框架
- ECLIPSE项目中断svn连接解决方法
- JAVA环境配置
- Java 反射
- Java 泛型extends和super
- java 静态代理和动态代理
- java中创建线程的的方法
- java学习笔记之动态代理
- 使用Eclipse可以方便的统计工程或文件的代码行数,
- Spring中的@Transactional必须要了解的概念
- WebSocket不同版本的三种握手方式以及一个Netty实现JAVA类
- java笔记→递归算法、枚举法、辗转相除法
- JDK,cglib动态代理-AOP学习
- java 反射详解
- java nio io模型
- JAVA - 优雅的记录日志(log4j实战篇)
- 向JAVA项目中导入jar包,需要进行设置。(安卓项目可直接导入)
- [Java基础] Java四类八种基本类型
- 3Sum leetcode第15题 Java代码
- RxJava----操作符:辅助操作符