JDBC是Java Data Base Connectivity的缩写即Java数据库连接


初学Java,在做一个图书管理系统的时候用到了关于数据库的知识,刚好我们课堂上也学习了数据库,在数据库连接的时候我选择的是mysql,应用程序我用的是eclipse,对于小白的我连接数据库的时候,在百度上搜了搜说是用到JDBC,于是我也就用了JDBC,使用JDBC能够做到与数据库之间的交流


我们安装好mysql之后,我们的应用程序eclipse是不能直接操纵数据库的,必须先安装数据库驱动,也就是一个jar包

可以通过该网址下载​​https://dev.mysql.com/downloads/connector/​

Java数据库连接JDBC_java


Java数据库连接JDBC_mysql_02

Java数据库连接JDBC_java_03

然后下载就行了

然后你在eclipse里新建一个项目,然后右键该项目Bulid Path -> AddExternal,然后把你下载的jar包导入即可

导入jar包之后就可以进行数据库的连接了

这里有一个URL具体解释可以参 ​

import java.sql.DriverManager;

import com.mysql.jdbc.Connection;

public class DbUtil {
private String dbUrl = "jdbc:mysql://localhost:3306/work?useSSL=false";
private String dbUserName = "root";
private String dbPassword = "123456";
private String jdbcName = "com.mysql.jdbc.Driver";

/*
* 数据库连接
*/
public Connection getCon() throws Exception {
Class.forName(jdbcName);
Connection con = (Connection) DriverManager.getConnection(dbUrl, dbUserName, dbPassword);
return con;
}

public static void main(String[] args) {
DbUtil dbUtil = new DbUtil();
try {
dbUtil.getCon();
System.out.println("数据库连接成功");
} catch (Exception e) {
e.printStackTrace();
System.out.println("数据库连接失败");
}
}
}

这种连接方式是以前的连接方式,但是现在8的版本有了改动


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.

正在加载类“com.mysql.jdbc.Driver”。这是不赞成的。新的驱动程序类是“com.mysql.cj.jdbc.driver”。驱动程序通过SPI自动注册,通常不需要手动加载驱动程序类。


意思是说,现在加载驱动的包已经不再是 com.mysql.jdbc.Driver而是com.mysql.cj.jdbc.Driver,并且是自动加载驱动的。

还有一个改动就是服务器时区


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.

服务器时区值'''''''''。如果要利用时区支持,则必须配置服务器或JDBC驱动程序(通过serverTimezone配置属性)以使用更具体的时区值。


也就是"jdbc:mysql://localhost:3306/work?useSSL=false"改成了"jdbc:mysql://localhost:3306/work?useSSL=false&serverTimezone=UTC"

public class DbUtil {
private String url = "jdbc:mysql://localhost:3306/work?useSSL=false&serverTimezone=UTC";
private String user = "root";
private String password = "root";

public Connection getCon() {
Connection con = null;
try {
con = DriverManager.getConnection(url, user, password);
} catch (Exception e) {
e.printStackTrace();
}
return con;
}
}

输出con如下图: 

Java数据库连接JDBC_mysql_04