JDBC API 是一系列的接口。
它使得应用程序能够进行数据库联接,执行SQL语句,并且得到返回结果。
Driver 接口
- Java.sql.Driver 接口是所有 JDBC 驱动程序需要实现的接口。这个接口是提供给数据库厂商使用的,不同数据库厂商提供不同的实现
- 在程序中不需要直接去访问实现了 Driver 接口的类,而是由驱动程序管理器类(java.sql.DriverManager)去调用这些Driver实现
加载与注册 JDBC 驱动
- 加载 JDBC 驱动需调用 Class 类的静态方法 forName(),向其传递要加载的 JDBC 驱动的类名
- DriverManager 类是驱动程序管理器类,负责管理驱动程序
- 通常不用显式调用 DriverManager 类的 registerDriver() 方法来注册驱动程序类的实例,因为 Driver 接口的驱动程序类都包含了静态代码块,在这个静态代码块中,会调用 DriverManager.registerDriver() 方法来注册自身的一个实例
建立连接
- 可以调用 DriverManager 类的 getConnection() 方法建立到数据库的连接
- JDBC URL 用于标识一个被注册的驱动程序,驱动程序管理器通过这个 URL 选择正确的驱动程序,从而建立到数据库的连接。
- JDBC URL的标准由三部分组成,各部分间用冒号分隔。
jdbc:<子协议>:<子名称>
协议:JDBC URL中的协议总是jdbc
子协议:子协议用于标识一个数据库驱动程序
子名称:一种标识数据库的方法。子名称可以依不同的子协议而变化,用
名称的目的是为了定位数据库提供足够的信息
几种常用数据库的JDBC URL
<strong>oracle:</strong>
jdbc:oracle:thin:@localhost:1521:sid
<strong>mysql:</strong>
jdbc:mysql://localhost:3306/sid
Statement
- 通过调用 Connection 对象的 createStatement 方法创建该对象
该对象用于执行静态的 SQL 语句,并且返回执行结果 - Statement 接口中定义了下列方法用于执行 SQL 语句:
- ResultSet excuteQuery(String sql)
- int excuteUpdate(String sql)
ResultSet
- 通过调用 Statement 对象的 excuteQuery() 方法创建该对象
- ResultSet 对象以逻辑表格的形式封装了执行数据库操作的结果集,ResultSet 接口由数据库厂商实现
- ResultSet 对象维护了一个指向当前数据行的游标,初始的时候,游标在第一行之前,可以通过 ResultSet 对象的 next() 方法移动到下一行
- ResultSet 接口的常用方法: boolean next()、getString()......
小结
- java.sql.DriverManager用来装载驱动程序,获取数据库连接。
- java.sql.Connection完成对某一指定数据库的联接
- java.sql.Statement在一个给定的连接中作为SQL执行声明的容器,他包含了两个重要的子类型。
- Java.sql.PreparedSatement 用于执行预编译的sql声明
- Java.sql.CallableStatement用于执行数据库中存储过程的调用
- java.sql.ResultSet对于给定声明取得结果的途径