JAVA数据库篇——JDBC访问数据库

一、简介

使用JDBC访问数据库的步骤大致为以下几步:

① 在类加载器中加载驱动包中的Driver类

② 使用给定的数据库URL获取Connection。

③ 使用Connection创建SQL Statement。

④ 使用Statement执行SQL语句。

⑤ 处理返回值。

⑥ 释放数据库连接资源。

这里我们使用Mysql数据库来演示JDBC访问数据库的过程。

二、准备工作

1、配置数据源。

这里我们直接在mysql数据库中新建一张user_t表

JAVA数据库篇——JDBC访问数据库_第1张图片

接着新增一些数据

2、在java项目中引入mysql驱动包。

mysql驱动包不同版本对jdk、JDBC及mysql版本有不同的要求,以下是mysql官网的版本支持说明:

JAVA数据库篇——JDBC访问数据库_第2张图片

我使用的是mysql5.7,驱动包使用的是mysql-connector-java-8.0.27,可以直接下载jar包到项目lib路径或者使用maven、gradle等导入。这里演示maven的导入方法:

        
            mysql
            mysql-connector-java
            8.0.27
        

 三、代码示例

使用jdbc访问mysql数据库的代码如下:

JAVA数据库篇——JDBC访问数据库_第3张图片

① 可能有人会问,这里为什么没有使用Class.forName() 将驱动类加载到类加载器中。这是因为我们调用DriverManager.getConnection()方法的时候会通过SPI机制自动发现我们导入的驱动类,因此我们可以不用显示指定导入的驱动类。

需要注意的是,5.X版本和8.X版本的驱动包的Driver类的包路径不相同,我这里导入的是8.0.27版本,因此会加载com.mysql.cj.jdbc.Driver类。如果是5.X版本,则是com.mysql.jdbc.Driver。

JAVA数据库篇——JDBC访问数据库_第4张图片

② DriverManager.getConnection() 是在已经注册的数据库驱动中选择合适的驱动去建立连接。连接数据必要的参数包括数据库地址、用户名、密码。连接成功后返回的Connection对象。

③ 想通过数据库驱动在数据库中执行SQL,可以通过SQL statement完成,可以使用createStatement()直接执行SQL,或者使用prepareStatement() 预编译参数执行SQL。

④ 通过第三步返回的Statement对象,调用executeQuery()方法即可执行查询并返回ResultSet对象。

⑤ 使用ResultSet的next方法遍历结果集。除了getString()方法,ResultSet还有getInt(),getLong()等方法。

⑥ 在finally中显示关闭已经建立的连接资源,我们在创建对象时是按照Connection->Statement->ResultSet的顺序创建的,关闭时要按照相反的顺序,即ResultSet->Statement->Connection的顺序关闭。需要注意的是,如果不显示关闭,虽然数据库连接会在超时时自动释放,但会长时间占用数据库连接。由于数据库连接有限,因此回收资源也是一个重要的操作。

程序执行结果如下:

JAVA数据库篇——JDBC访问数据库_第5张图片

你可能感兴趣的:(Java,JDBC,java,数据库,开发语言)