一文学会JDBC(两万字,适用于新手)

目录

1.JDBC是什么?

2.JDBC的本质是什么?

3.开发前的准备工作

1.普通的Java项目添加jar包

2.创建Maven项目添加依赖

4.JDBC编程六步(背会熟记)

5. 具体实现

1.注册驱动

2.获取连接

3.获取数据库操作对象

4.执行sql,关闭连接

6. JDBC执行删除与更新

1.删除操作

 2.更新操作

7.类加载的方式注册驱动

8.从属性资源文件中读取连接数据库信息

9.处理查询结果集

10.PreparedStatement的使用


1.JDBC是什么?

Java数据库连接,(Java Database Connectivity,简称JDBC)是Java中用来规范客户端程序如何来访问数据库的应用程序接口,提供了诸如查询和更新数据库中数据的方法。JDBC也是Sun Microsystems的商标。我们通常说的JDBC是面向关系型数据库的

2.JDBC的本质是什么?

JDBC是sun公司置顶的一套接口(interface)

而这些接口都存在于java.sql.*包下

我们知道接口都有调用者和实现者,在JDBC中,很明显调用者是我们普通的Java程序员,那么谁是这些接口的实现者呢?

没错,就是各大数据库厂商,对于每一个数据库厂商,例如mysql,oracle,SqlServer等,都必须实现sun公司制定的这套接口,而我们程序员只需要根据自己使用的数据库,调用数据库厂商实现的接口方法即可。

思考:为什么sun公司制定一套JDBC接口呢?

因为每一个数据库的底层实现原理不一样

Oracle数据库有自己的原理

Mysql数据库也有自己的原理

SqlServer数据库也有自己的原理

...

每一个数据库产品都有自己独特的实现原理

原理图如下:

思考:为什么要面向接口编程?

面向接口调用、面向接口写实现类,这都属于面向接口编程

作用:

解耦合:降低程序的耦合度,提高程序的扩展力

多态机制就是非常典型的:面向抽象编程

//建议:
Animal a = new Cat();
Animal a = new Dog();

//不建议:
Dog d = new Dog();
Cat c = new Cat();

3.开发前的准备工作

JDBC开发前的准备工作,先从官网下载对应的驱动jar包

 官网下载jar包的地址

MySQL :: Download Connector/J

这里我们开发分为两种情况

  • 普通Java项目
  • Maven项目

如果我们创建的是普通的java项目,我们需要将jar包配置到项目中

而如果我们创建的是maven项目,直接在pom.xml文件中添加依赖即可

1.普通的Java项目添加jar包

上面我们下载下来的jar包文件,只需要用到下面这个标红的这个

 然后我们在Intellij idea中创建一个普通的java项目JDBCTest

下面是导入jar包的过程:

第一步,创建一个lib文件,将jar包复制进去:

 第二步,右键点击该jar包,选择 Add as Library...

第三步,选择Jar Directory

第四步,选择要将jar包导入哪个module,我们选择刚刚创建的JDBCTest

第五步,确定是否成功导入,打开Project Structure...(快捷键Ctrl + Alt + Shift + S)

第六步,点击Libraries,发现已经成功导入了

2.创建Maven项目添加依赖

如果创建的是Maven项目,我们直接在pom.xml文件中添加依赖

    <dependencies>
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>8.0.26</version>
        </dependency>
    </dependencies>

对于初学Java的人可能没有学过Maven,但我推荐没有学过Maven的人一定要去把Maven学了,Maven不难,但是对我们项目的帮助却特别大

4.JDBC编程六步(背会熟记)

  • 第一步:注册驱动(告诉Java程序,即将连接的是哪个品牌的数据库)
  • 第二步:获取连接(表示JVM的进程和数据库进程之间的通道打开了,这属于进程之间的通信,重量级的,使用完之后一定要关闭通道)
  • 第三步:获取数据库操作对象(专门执行sql语句的对象)
  • 第四步:执行sql语句(DQL DML...)
  • 第五步:处理查询结果集只有当第四步执行的select语句的时候,才由第五步处理查询结果集
  • 第六步:释放资源(使用完资源之后一定要关闭资源,Java和数据库属于进程间的通信,开启之后一定要关闭)

5. 具体实现

1.注册驱动

我们首先查看jdk帮助文档,发现有两个方法可以注册驱动

我们查看方法具体的解释,发现这个方法会抛出一个SQLException的异常 ,我们可以用try..catch来捕获异常。

其实我们编写JDBC注册驱动最常用的方法不是registerDriver()方法,最常用的方法是通过反射的类加载过程来注册驱动,这个后面我们会再详细讲解,我们这里首先采用registerDriver的方法来注册驱动

 编写代码:

import java.sql.Driver;
import java.sql.DriverManager;
import java.sql.SQLException;

public class JDBCTest01 {
    public static void main(String[] args) throws SQLException {
        try {
            //1.注册驱动
            Driver driver = new com.mysql.cj.jdbc.Driver();//父类型引用指向子类型对象
            DriverManager.registerDriver(driver);
        } catch (SQLException e) {
            e.printStackTrace();
        }

        //2.获取连接
        //3.获取数据库操作对象
        //4.执行sql
        //5.处理查询结果
        //6.关闭连接
    }
}

可以看到这里是 new com.mysql.cj.jdbc.Driver(),那么com.mysql.cj.jdbc.Driver()和com.mysql.jdbc.Driver()有什么区别呢?

简单来说,如果使用的是Mysql6.0之后的版本,必须使用com.mysql.cj.jdbc.Driver(),而如果使用的是Mysql5.0的版本,使用的就是com.mysql.jdbc.Driver()

2.获取连接

我们查看jdk帮助文档,其中有三个方法可以获取连接

我们最常用的是第三个,查看第三个的详细解释

  • 58
    点赞
  • 236
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 6
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

再让我学一会吧!

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值