2016-11-03
JDBC(java Database connection,)是一种用于执行SQL语句的API,他是有一些java语言写的类和界面组成,他提供了了标准的应用程序接口,是开发人员可以将SQL语句传递给任何一种数据库,无需为各种数据库编写单独的访问程序
1) 与一个数据库建立连接。
Connection con = DriverManager.getConnection("jdbc:odbc:CallCenter","sa","");
(2) 向数据库发送SQL语句。
stmt = con.createStatement();
rs = stmt.executeQuery("SELECT CID,CPin from tCustomer WHERE CID=‘z1‘");
(3) 处理数据库返回的结果。
while(rs.next())
{
String theInt = rs.getString("CID");
String str = rs.getString("CPin");
...
}
使用JDBC,一种是JDBC API,是面向程序员的;一种是JDBC Driver API,是面向底层驱动方向。
java.sql.DriverManager:处理驱动的调入并且对产生新的数据库连接提供支持。
java.sql.Connection:代表对特定数据库的连接。
java.sql.Statement:代表一个特定的容器,以对一个特定的数据库执行SQL语句。
java.sql.ResultSet:控制对一个特定语句的行数据的存取。
其中java.sql.Statement又有两个子类型:
(1) java.sql.PreparedStatement:用于执行预编译的SQL语句。
(2) java.sql.CallableStatement:用于执行对一个数据库内嵌过程的调用。
JDBC Driver API是指java.sql.Driver接口,封装了不同数据库的驱动程序(像Access、Foxpro、SQL Server等)。由于它是数据库底层处理,所以必须提供对java.sql.Connection、java.sql. Statement、java.sql.PreparedStatement和java.sql.ResultSet的实现。
如果目标DBMS提供有OUT参数的内嵌过程,那么还必须提供java.sql.CallableStatement 接口。在java.sql.Driver接口中每个数据库驱动程序必须提供一个类,使得系统可以由 java.sql.DriverManager来管理。一个比较好用的驱动程序是在ODBC之上提供对JDBC的实现,从而提供与ODBC接口的JDBC-ODBC 桥。所谓JDBC-ODBC桥,是一个JDBC驱动程序,通过将JDBC操作转换为ODBC操作来实现JDBC操作。它由sun.jdbc.odbc包实现,包含一个用来访问ODBC的本地库,对所有ODBC可用的数据库实现JDBC。
通过ODBC子协议,可以使用下面一行代码进行显示加载。
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
加载时,ODBC驱动程序将创建自己的实例,同时在JDBC驱动程序管理器中进行注册。由于JDBC放在ODBC之后,所以实现起来简单且高效。