JDBC是一种用于执行SQL语句的Java API,它由一组用java语言编写的类和接口组成,JDBC为数年据库开发人员提供了一组标准的API.
JDBC接口分为两个层次,一个是面向程序人员的JDBC API,另外一个是底层的JDBC Driver API
JDBC API
========
JDBC API是一系列抽象的接口,使得JSP程序的开发者能够进行数据库的连接,执行SQL语句,并且返回结果。这些接口包括:
java.sql.DriverManager 处理驱动的调入并且对产生新的数据库连接提供支持.
java.sql.Connection 代表对特定数据库的连接,用来完成对某一指定数据库的连接功能;
java.sql.Statement 代表一个容器,来对一个特定的数据库执行SQL语句;
java.sql.ResultSet 对一个特定语句的行数据的存取;
其中java.sql.Statement又有两个子类型:
java.sql.PreparedStatement 用于执行预编译的SQL语句
java.sql.CallableStatement 用于执行对一个数据库内嵌过程的调用.
JDBC Driver API
============
是面向驱动程序开发商的接口。对于大多数数据库驱动程序,仅仅实现JDBC API的抽象接口就够了。
JDBC驱动程序的类型
=================
>>JDBC-ODBC桥加ODBC驱动程序
将jdbc操作转为odbc操作来实现。因此利用此方法可以实现和大部分的数据库系统连接。桥驱动程序类为sun.jdbc.odbc.JdbcOdbcDriver 例:
<%@page import=“java.sql.*“%>
<%
try{
String url=new String();
url="jdbc:odbc:test";
%>
<%--加载jdbc-odbc bridge驱动程序--%>
<%
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
%>
<%--尝试与URL指定的数据源建立连接--%>
<%
Connection con=DriverManager.getConnection(url);
%>
}catch(SQLException e){
...
}
%>
>>本地api
这种类型的驱动程序把客户机api上的JDBC转换为orcal,informix等的调用。
>>jdbc网络纯java驱动程序
属于比较灵活的JDBC驱动程序,应用中转化为与DBMS无关的网络协议,之后又被某个服务器转换为另一种DBMS协议。这种网络服务器中间件能将它的纯java客户机边接到多种不同的数据库上。
>>本地协议纯java驱动程序
直接转换为DBMS所使用的网络协议,这将允许从客户机机器上直接调用DBMS服务器,是INTERNET访问的一个很实用的解决方法。
**利用jdbc-odbc连接其它数据库
==============================
>>Connect to Oracle
<%Class.forName("oracle.jdbc.driver.OracleDriver").newInstance();
String url="jdbc:oracle:thin:@localhost:1521:orcl";
//orcl为你的数据库的SID
String user="fly29";
String password="fly29";
Connection conn= DriverManager.getConnection(url,user,password);
%>
>>Connect to Sql Server7.0/2000
<%Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();
String url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=pubs";
//pubs为你的数据库的
String user="sa";
String password="";
Connection conn= DriverManager.getConnection(url,user,password);%>
>>Connect to DB2
<%Class.forName("com.ibm.db2.jdbc.app.DB2Driver").newInstance();
String url="jdbc:db2://localhost:5000/sample";
//sample为你的数据库名
String user="admin";
String password="";
Connection conn= DriverManager.getConnection(url,user,password);%>
>>Connect to MySQL
<% Class.forName("org.gjt.mm.mysql.Driver").newInstance();
String url ="jdbc:mysql://localhost/softforum?user=soft&password=soft1234&useUnicode=true&characterEncoding=8859_1"
//testDB为你的数据库名
Connection conn= DriverManager.getConnection(url);%>
>>Connect to Access
<%String url="jdbc:odbc:driver={MicrosoftAccessDriver(*.mdb)};DBQ=books.mdb";
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection con=DriverManager.getConnection(url);%>