关于MYSQL使用过程中的一些错误总结
一,java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
导致这个问题有很多种情况,我暂时遇到的是:未在lib下导入jar包。
这个链接是各个版本的jar包,注意对应你所安装的mysql版本进行下载安装:http://central.maven.org/maven2/mysql/mysql-connector-java/
如果是WEB项目,需在WEB-INF下的lib里导入jar包,普通java项目则在工程目录下新建一个目录导入即可。
二,Loading class `com.mysql.jdbc.Driver'. This is deprecated. The new driver class is"com.mysql.cj.jdbc.Driver";
提示信息表明数据库驱动com.mysql.jdbc.Driver'已经被弃用了、应当使用新的驱动com.mysql.cj.jdbc.Driver',即将如下代码中的"com.mysql.jdbc.Driver";改为"com.mysql.cj.jdbc.Driver";
static {
//使用静态代码块完成驱动的加载
try {
String driverName="com.mysql.cj.jdbc.Driver";
//String driverName="com.mysql.jdbc.Driver";
Class.forName(driverName);
}catch(Exception e) {
e.printStackTrace();
}
}
三,The server time zone value '�й���ʱ��' is unrecognized or represents more than one time zone. You must configure either the server or JDBC driver (via the serverTimezone configuration property) to use a more specifc time zone value if you want to utilize time zone support.
根据提示需要在配置数据库的连接信息中,在MySQL的URL后面加上“?serverTimezone=UTC” ,如下所示:
四,java.sql.SQLException: No database selected
出现这个问题是由于我的URL路径是这样写到的:
con =DriverManager.getConnection("jdbc:mysql://localhost:3306?serverTimezone=UTC&useUnicode=true&characterEncoding=utf8","root","1269594354");
String url ="jdbc:mysql://localhost:3306";
所写的URL不完整,没有指出本机的数据库实例的名称,初始创建的话,为本级默认的,可通过mysql命令下的show databases;查看;下图中的sys即为我本机的初始数据库实例名称;改正后为:
con =DriverManager.getConnection("jdbc:mysql://localhost:3306/sys?serverTimezone=UTC&useUnicode=true&characterEncoding=utf8","root","1269594354");