【JDBC】核心api和使用路线

一、jdbc 技术组成

1、jdk 下 jdbc 规范接口, 存储在 java.sql 和 javax.sql 包中的 api

为了项目代码的可移植性、可维护性,SUN 公司从最初就制定了 Java 程序连接各种数据库的统一接口规范。这样的话,不管是连接哪一种 DBMS 软件,Java 代码可以保持一致性。

2、各个数据库厂商提供的驱动 jar 包

因为各个数据库厂商的 DBMS 软件各有不同,那么内部如何通过 sql 实现增、删、改、查等管理数据,只有这个数据库厂商自己最清楚,因此把接口规范的实现交给各个数据库厂商自己实现。

jar 包是什么?

java 程序打成的一种压缩包格式,其实就是把其他的Java程序打成了对应的压缩包就叫 jar包。你可以将这些 jar 包引入你的项目中,然后你可以使用这个 java 程序中类和方法以及属性了!

所以第三方的数据库厂商都会把它们的实现打成一个对应的压缩包,而我们在使用的时候,只需要把这压缩包导入数据库就行了。


二、涉及具体核心类和接口

1)DriverManager

  1. 将第三方数据库厂商的实现驱动 jar 注册到程序中
  2. 可以根据数据库连接信息获取 connection,即创建一个连接

2)Connection

  • 和数据库建立的连接,在连接对象上,可以多次执行数据库 curd 动作
  • 可以获取 statement 和 preparedstatement, callablestatement 对象

3)Statement(查询静态SQL路线(没有动态值语句) | PreparedStatement(预编译SQL路线(有动态值语句) | CallableStatement(执行标准存储过程SQL路线)

  • 具体发送 SQL 语句到数据库管理软件的对象
  • 不同发送方式稍有不同!preparedstatement 使用为重点!

4)Result

  • 面向对象思维的产物 (抽象成数据库的查询结果表)
  • 存储 DQL 查询数据库结果的对象
  • 需要我们进行解析, 获取具体的数据表数据

PS:只有针对查询语句有Result对象,而其他语句返回的都是一个int类型。


三、JDBC API 使用路线

静态 SQL 路线 (没有动态 SQL 语句)

  • DriverManager → Connection → Statement → Result

静态:你的语句中没有任何条件值,例如查询id = 1的数据。

但是往往在开发中,我们的fSQL语句都是非静态的,只要是动态值,就需要使用PreparedStatement,预编译执行。

预编译 SQL 路线 (有动态 SQL 语句)(最常用)

  • DriverManager → Connection → PreparedStatement → Result

执行标准存储过程 SQL 路线

  • DriverManager → Connection → CallableStatement → Result
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值