网站首页 文章专栏 Intellij IDEA 提示 java.lang.ClassNotFoundException: com.mysql.jdbc.
在使用Java jdbc连接数据库时,提示 java.lang.ClassNotFoundException: com.mysql.jdbc.Driver异常,即Class.forName("com.mysql.jdbc.Driver"中出现了问题,驱动没有被反射到,问题解决
1、错误信息
java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
2、定位到错误信息对应的代码位置
//加载驱动程序 Class.forName("com.mysql.jdbc.Driver");//反射 通过一个类名 反向加载到我们的坏境中
3、错误说明
缺少对应的mysql-connector-java的jar包,加载不到jdbc连接数据库的驱动,导致出现异常错误
4、解决办法
因为找不到驱动,那就安装一个驱动
1)驱动下载
我用的是 MySQL mysql-connector-java-8.0.11.jar 驱动下载地址 https://dev.mysql.com/downloads/file/?id=477057
点击下载,在项目里面建立一个 lib,把这个驱动jar包放进去,然后看 第二步 驱动安装到项目里面 、
附:
更多的驱动 jar 包下载
https://dev.mysql.com/downloads/
2)驱动安装到项目里面 【Java jar包安装到项目库中】
在IDE操作
英文版:File/Project Structure/Project Settings/Modules中
中文版:文件/项目结构/项目设置/模块
然后选择 刚刚下载的 jar包 ,确定、这就安装驱动 jar 成功了
3)从项目中卸载驱动【Java jar包从项目库中卸载】
若刚刚安装的不合适,想卸载,则点击刚刚点击 “ +“ 旁边的 ”“ -“ ,指定的 jar 就可 卸载了,但不要忘记 确定 点击一下
附加:
安装 jar包 ,jdbc 可以连接 但是出现 错误警告
Loading class `com.mysql.jdbc.Driver'. This is deprecated. The new driver class is `com.mysql.cj.jdbc.Driver'. The driver is automatically registered via the SPI and manual loading of the driver class is generally unnecessary.
这是因为,可能是版本更新了连接驱动
将
//加载驱动程序 Class.forName("com.mysql.jdbc.Driver");//反射 通过一个类名 反向加载到我们的坏境中
修改为
//加载驱动程序 Class.forName("com.mysql.cj.jdbc.Driver");//反射 通过一个类名 反向加载到我们的坏境中
Java jdbc 连接可能也会出现 这种错误警告,
Exception in thread "main" java.sql.SQLException: The server time zone value 'xxx' 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.
看提示信息是关于时区设置错误,
这时在连接的数据库链接后面加上serverTimezone=GMT即可,
如url连接数据库时设置
jdbc:mysql://127.0.0.1:3306/数据库名称?serverTimezone=GMT
问题解决。