Java数据库连接JDBC

194 阅读2分钟

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

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

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

可以通过该网址下载dev.mysql.com/downloads/c…

 

然后下载就行了

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

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

这里有一个URL具体解释可以参考blog.csdn.net/HeZhiYing_/…

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如下图: