Java笔记:实现新版本下Java与MySql的驱动连接方法(基于Eclipse)

前言

试用并配置了一晚上的MySql并尝试实现基本的Java与Mysql之间的连接驱动。由于看到的课本和部分网站上分享的还是较旧版本的Java与Mysql之间的连接方法,希望在这里分享下目前较新版本的Java与Mysql的连接方法教程。
当然或许总有一天这篇博客记载的方法也会逐渐遭到抛弃或者弃用

正文

准备工具:

  • 安装好的MySql
  • Eclipse
  • mysql-connector-java

注:MySql以及mysql-connector-java等相关的工具下载、安装教程可见于参考链接

必需步骤:

  1. 注册驱动(这里选择注册mysql的驱动)
Class.forName("com.mysql.cj.jdbc.Driver");
//注意,需要使用"com.mysql.cj.jdbc.Driver"作为新的mysql驱动
//旧的"com.mysql.jdbc.Driber"已被弃用
  1. 将mysql-connector-java加入到当前项目的bulid path

复制下载好的mysql-connector-java到当前项目与src同级的、新创建好的lib文件夹内。通过右击创建好的Java project->Bulid Path->Configure Bulid Path…进入到Java Bulid Path菜单内。上方菜单内选择Libraries,选中Module Path,右侧菜单内选择Add JARs…,将lib中的驱动加入到Libraries中。
加入驱动程序到Libraries

  1. 在环境变量中添加CLASSPATH,使CLASSPATH指向mysql-connector-java的路径。
  2. 在java中尝试连接MySQL进行测试:
String url = "jdbc:mysql://localhost:3306/database?serverTimezone = GMT";
Class.forName("com.mysql.cj.jdbc.Driver");
String UserNmae = "username";
String Password = "password";
Connection con = DriverManager.getConnection(url,userName,password);
//接下来就可以从Console处的反馈判断是否成功访问到

常见问题

  • 访问MySQL失败,Console显示:

     java.sql.SQLException: The server time zone value '�й���׼ʱ��' is unrecognized or represents more than one time zone
     原因分析:
     MySQL需要一个时区判断信息,可能涉及到时间戳管理
     解决方案:
     在url后添加时区信息,如:
     String url = "jdbc:mysql://localhost:3306/database?serverTimezone = GMT";
    
  • 显示:

     Loading class `com.mysql.jdbc.Driver'. This is deprecated. The new driver class is `com.mysql.cj.jdbc.Driver'.
     原因分析:
     使用了已弃用的java-mysql驱动程序,需更换更新的java-mysql驱动程序
     解决方案:
     注册驱动程序时使用新的java-mysql驱动程序,使用以下语句:
     Class.forName("com.mysql.cj.jdbc.Driver");
    

碎碎念

一定要认真看清有没有打错字啊!
个人就因为将jdbc达成了jbdc一直没发现浪费了大量时间,如果不熟悉可以直接将网上博客内的代码内容复制下来。一旦打错字没发现可能就要付出短则几分钟,多则几小时的查错与debug。
另外,配置MySQL访问用户信息可直接在Java class里设置,也可以通过新建properties文件,通过读取配置文件等操作得到Mysql访问用户信息从而登入Mysql。

参考链接

MySql安装教程
mysql-connector-java安装网址

一些大佬们的博客:
由于未设置时区信息引起的出错的解决办法

mysql:Java通过驱动包(jar包)连接MySQL数据库—步骤总结及验证

mysql-connector-java各种版本下载地址

Java 连接 MySQL 数据库方法

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值