JDBC(Java DataBase Connectivity))是一种执行SQL语句的Java API
程序可以通过JDBC连接到关系数据库,从而实现对数据库的增删改查等操作
JDBC访问数据库的三个步骤:- 建立与数据库的连接
- 执行SQL语句
- 获取执行结果
数据库驱动程序:负责将JDBC调用映射成特定的数据库调用
JDBC驱动程序的4种类型:- JDBC-ODBC桥: 最早实现的JDBC驱动程序,通过一组通用的API访问不同的数据库管理系统,ODBC对数据库厂商提供的相应驱动程序进行管理
- 本地API驱动: 直接将JDBC API映射成数据库特定的客户端,包含特定数据库的本地代码,用于访问特定数据库的客户端
- 网络协议驱动: 将JDBC调用翻译成中间供应商的协议,然后再由中间服务器翻译成数据库访问协议
- 本地协议驱动: 纯Java编写,可以直接连接到数据库 (推荐)
JDBC API提供一系列与数据库连接的接口和类(java.sql包)
名称 | 描述 |
DriverManager | 用于管理JDBC驱动的服务类,主要功能是加载和卸载各种驱动程序、获取数据库连接对象并建立连接 |
Connection | 代表数据库连接的工具接口 |
Statement | 用于执行SQL语句的工具接口 |
PreparedStatement | 用于执行预编译的SQL语句,这些SQL语句都带有参数,避免数据库每次都需要编译SQL语句,执行时只需传入参数即可 |
CallableStatement | 用于调用SQL存储过程 |
ResultSet | 表示结果集,包含查询结果的各种方法 |
DriverManager是数据库驱动管理类,用于管理一组驱动程序的基本服务
2.Connection接口Connection接口用于连接数据库,每个Connection对象都代表一个数据库连接
通过DriverManager类的getConnection()方法可以返回一个Connection对象,该对象提供了创建SQL语句的方法,同时为数据库事务提供了提交和回滚的方法
3.Statement接口Statement接口用于执行SQL语句
JDBC执行SQL语句的三种方式(往上继承):- 一般查询(Statement)
- 参数查询(PreparedStatement)
- 存储过程(Callablement)
Statement接口的主要功能是将SQL语句传递给数据库,并返回执行结果,其语句是静态的,不需要接收任何参数
SQL语句:- SELECT
- INSERT、UPDATE、DELETE
- CREATE TABLE、DROP TABLE
ResultSet接口用于封装结果集对象,该对象包含访问查询结果的方法
ResultSet具有指向当前数据行的游标,并提供许多方法操作结果集中的游标,同时还提供一个getXXX()方法对结果集中的数据进行访问,这些方法可以通过索引列下标或列名取得数据
ResultSet对象的游标最初位于第一行之前,每调用一次next()方法,游标就会向下移动一行,从而依次读取获取的所有行
getXXX()方法用于对游标指向的数据行的数据进行访问,在使用getXXX()方法取值时,注意数据库字段的数据类型要与Java的数据类型相一致