JDBC是 Java DataBase Connectivity 的缩写,它是连接Java程序和数据库服务器的纽带。Java应用程序必须通过JDBC驱动器来访问数据库,java.sql.DriverManager类运用桥梁设计模式来实现与各种不同的JDBC驱动器的通信。
DriverManager的桥梁设计模式JDBC API 主要位于 java.sql 包中:
- Driver接口和DriverManager类
- Connection接口
- Statement接口
- PrepareStatement接口
- ResultSet接口
在Java程序中,通过JDBC API访问数据库包含以下步骤:
- 获得要访问的数据库的JDBC驱动器的类库,把它放到classpath中。
- 在程序中加在并注册JDBC驱动器,其中JDBC-ODBC驱动器是在JDK中自带的,默认为已经注册。
// 加载 JdbcOdbcDriver 类
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
// 加载 SQLServerDriver 类
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
// 注册 SQLServerDriver 类
java.sql.DriverManager.registerDriver(new com.microsoft.jdbc.sqlserver.SQLServerDriver());
// 加载 OracleDriver 类
Class.forName("oracle.jdbc.driver.OracleDriver");
// 注册 OracleDriver 类
java.sql.DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver());
// 加载 MySQL Driver 类
Class.forName("com.mysql.jdbc.Driver");
// 注册 MySQL Driver 类
java.sql.DriverManager.registerDriver(new com.mysql.jdbc.Driver());
- 建立与数据库的连接。
Connection con = java.sql.DriverManager.getConnection(dburl, user, password);
dburl表示连接数据库的 JDBC URL,user和password分别表示连接数据库的用户名和密码。
# JDBC URL 的一般形式
jdbc:drivertype:driversubtype://parameters
# JDBC-ODBC Driver 连接数据库
jdbc:odbc:datasource
# Oracle 数据库连接
jdbc:oracle:this:@localhost:1521:sid
# SQLServer 数据库连接
jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=DB_NAME
# MySQL 数据库连接
jdbc:mysql://localhost:3306/DB_NAME
- 创建Statement对象,准备执行SQL。
Statement stmt = con.createStatement();
- 执行SQL语句。
String sql = "select `col1`, `col2` from `table1` where 1";
ResultSet rs = stmt.executeQuery(sql);
- 访问ResultSet中的记录集。
while(rs.next()){
String col1 = rs.getString(1);
float col2 = rs.getFloat(2);
}
- 依次关闭ResultSet、Statement和Connection对象。
rs.close();
stmt.close();
con.close();
JDBC 2.0 提供了 javax.sql.DataSource 接口,它负责建立与数据库的连接,当在应用程序中访问数据库时不必编写连接数据库的代码,可以直接从数据源获得数据库连接。
网友评论