上一篇我们讲述了 JDBC ,这一篇实战一下,看看如何使用 JDBC 去连接数据库。这里我们使用 MySQL 数据库。

一、MySQL jar 包引入

上一篇我们说了,每一个数据库厂商都会有自己的一套实现,并且封装成 jar ,提供给我们使用,我们去下载一下这个 MySQL 数据库的 JDBC 实现包。

打开 maven 仓库 https://mvnrepository.com/

java连接oceanbase数据库yml java database connection_JDBC 连接 mysql

然后输入 mysql 

java连接oceanbase数据库yml java database connection_数据库_02

选择这个

java连接oceanbase数据库yml java database connection_java_03

然后看这个版本,有 8.0x的,有 6.0x的,还有 5.1x 等等,这里因为我的数据库是 8.0.19,所以,我就选择 8.0.19 的版本,然后点击进去

java连接oceanbase数据库yml java database connection_java_04

点击下载。下载好之后,留着一会我们会用到。

二、JDBC 操作数据库步骤

JDBC 连接数据库大致分为4步

1. 加载对应的数据库驱动

2. 连接我们要连接的数据库

3. 使用SQL语句进行和数据库互动

4. 关闭数据库连接,释放资源

这四步缺一个都不行,尤其是最后一个,要记得关闭数据库连接,进行资源释放。

三、实操_创建工程

知道了这些之后,我们来操作一下,先打开一下我们的eclipse,然后创建一个普通的 Java 工程,我们就叫 JDBCTest01

java连接oceanbase数据库yml java database connection_java_05

然后我们在这个下面创建一个 lib 文件夹 new-Folder

java连接oceanbase数据库yml java database connection_JDBC_06

然后把我们的刚刚下载的 jar 包粘贴到 lib 中

java连接oceanbase数据库yml java database connection_JDBC_07

这样我们的环境就弄好了。

四、实操_如何在项目中引入 jar 

现在我们的项目中有了这个 mysql 的 JDBC 的实现了,但是啊,这样还用不了,我们需要将这个 jar 包添加到我们的项目构建路径中

怎么添加呢?选中这个 jar ,然后鼠标右键,找到 Build Path 然后选择 Add To Build Path

java连接oceanbase数据库yml java database connection_java_08

添加好之后就是这样,这样我们就可以使用这个 jar 了。

五、实操_连接数据库

前面这些都准备好之后呢,我们就可以进行连接数据库了,当然,你需要将你本地,或者远程机器上的 MySQL 数据库的服务开启起来,不然到时候连接不上。

1. 加载驱动

我们先创建一个类,叫 JDBCTest01 的类

java连接oceanbase数据库yml java database connection_java 连接数据库_09

我们连接数据库,首先是第一步,加载驱动,我们是这么去加载的,我们使用Class类中的一个方法,forName 方法去进行加载。

forName 里面写的参数就是我们这个数据库的驱动类,这个类是 com.mysql.cj.jdbc.Driver,然后我们顺便捕获一下异常,这样我们就将驱动加载好了。

当然啊,顺便说一下,数据库版本的不同,这个驱动类所在的地方也不同,我这里使用的是新版本,所以是在这里,你如果数据库用的以前的 5.7 版本以下,包括 5.7,那你需要下载对应的 jar 然后 修改这个驱动类,之前的都是 com.mysql.jdbc.Driver。

我们可以看一下这个类

java连接oceanbase数据库yml java database connection_JDBC_10

这个就是驱动类

2. 连接数据库

连接数据库需要用到几个东西,我来介绍一下

  1. DriverManager 驱动管理类,主要是用来获取数据库连接的
  2. Connection 连接接口,主要是用来创建连接,和关闭连接的

我们使用驱动管理这个类获取一个连接

java连接oceanbase数据库yml java database connection_数据库_11

我们呢一般都是使用的最后一个,传入一个 url ,一个用户名,还有一个密码进行获取。

这里的 url 就是我们数据库的连接地址,写法是固定的

jdbc:mysql://主机地址:端口/你要连接的数据库名称
?
useSSL=false
&
serverTimezone=Asia/Shanghai
&
characterEncoding=utf-8
&
autoReconnect=true

以前版本只需要写jdbc:mysql:主机地址:端口/你要连接的数据库名称 即可,但是从 8.0 版本之后,就不行了,需要添加时区这个东西,不然会报错,当然我写的这么多东西是因为要使用,useSSl 就是是否使用SSL连接,我们给一个false,时区就是亚洲上海时间,字符集就是utf-8,最后一个是是否自动从新连接,这里我给的是。然后我们来写一下

java连接oceanbase数据库yml java database connection_JDBC_12

写好之后,再来看,user 就是指连接上来的用户,这里我就是用的 root 用户,密码就是 root 用户的密码。

java连接oceanbase数据库yml java database connection_java 连接数据库_13

然后我们看一下获取到的连接是个啥

java连接oceanbase数据库yml java database connection_数据库_14

是一个 Connection,我们就用一个这个去接收,当然这里我们去捕获一下异常,来看一下

java连接oceanbase数据库yml java database connection_数据库_15

当然啊,没有异常就说明我们连接上了,如果有就是失败

3. 关闭数据库连接

最重要的一点,我们要记得关闭数据库的连接,去释放资源

java连接oceanbase数据库yml java database connection_JDBC 连接 mysql_16

判断一下,不为 null 我们就去关闭掉这个连接

我们来运行一下

java连接oceanbase数据库yml java database connection_JDBC 连接 mysql_17

当然,这里可能有人不相信啊,我这里修改一下我传入的参数,我将这个密码修改成 000000 我们再来看一下

java连接oceanbase数据库yml java database connection_数据库_18

可以看到啊,连接失败,但是没有释放资源啊,这里因为 conn 是一个空的,并没有拿到资源导致。

 

这样我们连接数据库就完成了,大家多练习一下,下一节我们讲述如何去实际操作数据库了。