Java Database Connectivity 一组抽象于各个数据库的接口规范,用统一的接口方式消除数据库之间的差异。虽然JDBC统一了调用方式,但是各个数据库厂商需要根据自己的数据库实现这组接口,所以在进行开发前需要获得各个数据库厂商提供JDBC驱动类。
进行JDBC开发的流程大致如下:
注册Driver类--获取数据库链接(Connection)--创建SQL环境(Statement)--执行获取结果集(ResultSet)--操作结果集--关闭连接
一. 注册Driver类
注册Driver类有以下3种方法,效果相同,都会在DriveManager类中记录Drive信息。
1. Class.forName(DriverClassName); 此加载方式会执行Driver的静态代码块。也可
Class.forName(DriverClassName).newInstance();保证完整的初始化
2. new Driver();如new com.mysql.jdbc.Driver();相当于Class.forName(DriverClassName).newInstance();
3. DriverManager.registerDriver(new Driver())
二. 获取连接
conn = DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/test", "root", "111111");
1. DriverManager.getConnection()实际上调用的是Driver.getConnection();
2. url的格式各个数据库不一样 大致为: jdbc:subprotocol:locate.
Mysql: jdbc:mysql://ip:port/sid
Oracle: jdbc:oracle:thin:@ip:port:sid
三. 获取结果信息
ResultSet 只能获取结果集里面的结果,无法获取结果集的基本信息,如有多少列,列名等。所以需要使用ResultSetMetaData,需要注意的是在ResultSetMetaData里面列的编号从1开始。
四. 释放连接
关闭连接最好在finally块里执行,这样就是操作抛出异常也能关闭连接。理论上关闭了Connection,Statement和ResultSet会自动关闭。
JDBC的大致类图如下:
没有用图权限,日他哥的。。