java或jsp连接数据库(access)

java或jsp连接数据库(access) 

   由于c,c++,java等语言不能够直接访问数据库,于是就需要有一个中间件来搭桥接线。odbc用于c和c++等于语言连接数据库。jdbc则用于java连接数据库。jdbc几乎可以连接所有的数据库,当你对ms sql产生不满想转到 ibm的db2的时候只要改变一下连接方式就可以了,其他东西一律不用改动。这也是java这几年这么火的原因之一。sun公司的jdk里有一个jdbc-odbc桥接器。用这个桥接器就可以在java里用标准的sql语言来操作数据库了。

java连接access有两种连接方式,一种是将数据库文件和java源文件放在一起,也就是说这个数据库跟随这个java应用,到哪都能用。还有一种方式就是通过设置数据源的方式。这个方式有一个毛病就是换一台电脑就要重新设置一次数据源。现在讲第一种使用方法
 
下面是我编的一个用于连接access的类
import java.sql.*;
class DbConnecter{
    public Connection conn;
    DbConnecter(){
        try {
            Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");//1
        } catch (ClassNotFoundException ex) {
            ex.printStackTrace();
        }//load jdbcodbcdriver
         String url="jdbc:odbc:driver={Microsoft Access Driver (*.mdb)};DBQ=student.mdb";//2
        try {
            conn=DriverManager.getConnection(url);//3
        } catch (SQLException ex) {
            ex.printStackTrace();
        }
    }
}
 
关键的就是黑体的部分。这是一个通用的类。首先要import java.sql.*;
第一条语句是说"我要使用sun公司的jdbc-odbc的桥接驱动程序"第2句就是正式载入一个叫做student.mdb的数据库文件。这个文件一般和这个java文件在同一个目录下,如果是工程则在工程目录下。第3句产生一个叫conn的数据库连接实例。那么怎么使用者各类呢?
 
比如我再写一个获取这个数据库信息的类:

class DbInfor{
    DbInfor() throws SQLException{
        DbConnecter connecter = new DbConnecter();
       DatabaseMetaData dbIfor = connecter.conn.getMetaData();
        System.out.println(dbIfor.getURL());
        System.out.println(dbIfor.getUserName());
        System.out.println(dbIfor.getDatabaseProductName());
    }
}

首先要创建一个连接对象connecter,connecter就可以创建各种操作数据库的方法了这里创建了一个dbIfor对象用于取得数据库的信息。

在写一个用于测试的main函数

public class DataBaseConnect {
    public static void main(String[] args) throws SQLException{
         DbInfor dbinfor= new DbInfor();
         DbDisplayer display=new DbDisplayer();
    }
}

这段程序一运行就会显示如下结果         

 jdbc:odbc:driver={Microsoft Access Driver (*.mdb)};DBQ=student.mdb
admin
ACCESS

至此数据库连接成功接下来就可以通过sql语言来查询,创建,修改,删除等操作了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值