JDBC(Java DataBase Connectivity)是Java数据库连接API。JDBC能完成与一个数据库建立连接,然后向数据库发送SQL语句,再处理数据库返回的结果。
JDBC在设计上和ODBC相似。JDBC和数据库建立连接的一种方式是首先建立起一个JDBC-ODBC桥接器。
首先安装office2000,就有了Access2000,启动Access,建立新数据库mess.mdb,建立包含两个文本型字段name和sex的表,表名为member,随便录入一些字符串到member表中,保存在任意目录下,比如说C盘下。然后打开控制面板 -> 管理工具 -> 数据源 (ODBC),选择"系统DSN",也可以选择"用户DSN"选项卡,系统的DSN对每个用户都适用可避免调试时出现的权限问题,单击“添加”,选择如下图的项目:
点击"完成",弹出的对话框里将"数据源名"一项设为你喜欢的名字,比如test。点"选择",找到"C:/mess.mdb"文件,如此一个ODBC数据源就配置好了。
要连接该数据源,也就是连接数据库,首先要建立一个JDBC-ODBC桥接器,上面已经说过了,其方法是:
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Class 是Java.lang包中的一个类,通过调用它的静态方法forName就可以建立桥接器。但建立桥接器时可能发生异常,这是我们所不想见到的,因此要捕获这个异常:
try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
}
catch(ClassNotFoundException e){异常捕获}
然后就是连接数据库了,这里要用到java.sql包中的Connection类声明一个对象,再用类DriverManager调用它的静态方法getConnection创建这个连接。
Connection con=DriverManager.getConnection("jdbc:odbc:数据源名字","数据源用户名","数据源密码");
为防止连接出现异常,这里也要有个异常的处理,具体看代码:
- import java.sql.Connection;
- import java.sql.DriverManager;
- import java.sql.ResultSet;
- import java.sql.SQLException;
- import java.sql.Statement;
- public class ConnToAccess {
- public static void main(String[] args) throws SQLException, InstantiationException, IllegalAccessException
- {
- //String url="jdbc:odbc:driver={Microsoft Access Driver (*.accdb)};DBQ=db.accdb";
- String url="jdbc:odbc:test"; //此为dsn
- try
- {
- Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
- Connection conn=DriverManager.getConnection(url);
- Statement stm=conn.createStatement();
- ResultSet rs=stm.executeQuery("select * from sell");
- while(rs.next())
- {
- System.out.println(rs.getString(3));
- }
- rs.close();
- stm.close();
- conn.close();
- }
- catch (ClassNotFoundException e)
- {
- System.out.println(e.getMessage());
- }
- }
- }