JDBC的全称是是一套面向对象的应用程序接口,指定了统一的访问各种关系型数据库的标准接口。JDBC是一种底层的API,因此访问数据库时需要在业务逻辑层中嵌入SQL语句。SQL语句是面向关系的,依赖于关系模型,所以通过JDBC技术访问数据库也是面向关系的。
JDBC技术主要完成的几个任务:
1、与数据库建立一个连接。
2、向数据库发送SQL语句。
3、处理从数据库返回的结果。
注意:JDBC并不能直接访问数据库,必须依赖于数据库厂商提供的JDBC驱动程序。
JDBC的总体结构由4个组件——应用程序、驱动程序管理器、驱动程序和数据源组成。
JDBC驱动基本上分为:
1、JDBC-ODBC桥
2、本地API一部分用Java编写的驱动程序
3、JDBC网络驱动
4、本地协议驱动
Connection接口
代表与特定的数据库的连接。要对数据表中数据进行操作,首先要获取数据库连接。Connection实例就像在应用程序与数据库之间开通了一条渠道。
PreparedStatement接口
继承Statement,用于执行动态的SQL语句,通过PreparedStatement实例执行的SQL语句,将被预编译并保存到PreparedStatement实例中。从而可以反复地执行该SQL语句。
PreparedStatement接口的常用方法如下表所示:
DriverManager类
用来管理数据库中的所有驱动程序。是JDBC的管理层,作用于用户和驱动程序之间,跟踪可用的驱动程序,并在数据库的驱动程序之间建立连接。此外,DriverManager类也处理诸如驱动程序登录时间限制及登录和跟踪信息的显示等事务。DriverManager类中的方法都是静态方法,所以在程序中无须对它进行实例化,直接通过类名就可以调用。
常用的方法:
1、getConnection(String url, String user, String password):指定3个入口参数,分别是:连接数据库的URL、用户名、密码,以此来获取与数据库的连接。
2、setLoginTimeout():获取驱动程序试图登录到某一数据库时可以等待的最长时间(以 秒 为单位)。
3、println(String message):将一条信息打印到当前JDBC日志流中。
ResultSet接口
类似于一个临时表,用来暂时存放数据库查询操作所获得的结果集。ResultSet实例具有指向当前数据行的指针,指针开始的位置在第一条记录的前面,通过next()方法可将指针向下移。
该接口有一组更新方法updateXXX(),该方法有两个重载方法,可根据列的索引号和列的名称来更新指定列。但该方法并没有对数据进行的操作同步到数据库中,需要执行updateRow()或insertRow()方法更新数据库。
ResultSet接口的常用方法: