java与数据库的连接

JDBC 是应用程序编程接口,描述了一套访问关系数据库的标准JAVA类库.并且还为数据库厂商提供了一个标准的体系结构,让厂商可以为自己的数据库产品提供JDBC驱动程序,这些驱动程序可以让JAVA应用程序直接访问厂商的数据产品,从而提高了JAVA程序访问数据库的效率.

JDBC驱动程序可以分为4:

1.JDBC-ODBC

ODBC开放数据库互连)是微软公司开放服务结构(WOSAWindows Open Services Architecture)中有关数据库的一个组成部分,它建立了一组规范,并提供了一组对数据库访问的标准API(应用程序编程接口)。这些API利用SQL来完成其大部分任务。ODBC本身也提供了对SQL语言的支持,用户可以直接将SQL语句送给ODBC(ODBC介绍http://baike.baidu.com/view/41321.htm).因为ODBC推出的时间要比ODBC,所以大部分数据库都支持通过ODBC来访问.SUN公司提供了JDBC-ODBC桥这个驱动来支持像Mircosoft Access这样的数据库.JDBC API 通过调用JDBC-ODBC.JDBC-ODBC桥调用了ODBC API 从而达到访问数据库的ODBC.这种方式经过了多层调用.效率比较低.用这种方式访问数据库,需要客户的机器上具有JDBC-ODBC桥驱动,ODBC驱动和相应的数据库的本地API.

2.部分本地API JAVA驱动程序

这种方式是利用JDBC驱动程序访问数据库厂商提供的本地API达到访问数据库的目的.这些API往往是用C语言或类似的语言编写,依赖于具体的平台.这种类型的JDBC驱动程序访问数据库减少了ODBC的调用环节,提高了数据库访问的效率.在这种方式下,需要客户的机器上安装本地JDBC驱动程序和特定厂商的本地API..

3.JDBC网络纯JAVA驱动程序.

这种驱动利用作为中间件的应用服务器来访问数据库.应用服务器作为一个到多个数据库的网关,客户端通过它可以连接到不同的数据库服务项目器.

 4.本地协议的纯JAVA驱动程序

这种JDBC驱动程序完全用JAVA编写,通过数据库建立直接的套接字连接.采用具体于厂商的网络协议把JDBC API调用转换为直接的网络调用.这种访问数据库的效率最高,但是对于不同的数据库厂商需要的JDBC驱动程序不同.以下是访问代码:

Class.forName("JDBC驱动类名");
Connection conn = DriverManager.getConnection(url,user,password);
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery(String SQL);

   

   各数据库的驱动类名(Driver 接口):

   SQL Srver 2000 :  com.microsoft.jdbc.sqlserver.SQLServerDriver

   Oracle: oracle.jdbc.driver.OraceDriver

   MySql: com.mysql.jdbc.Driver

   其中,SQLServer2000,MySQL,JDBC驱动要单独下载.

   在程序中不需要直接去访问这些实现 Driver接口的类,可以由驱动程序管理器去调用这些驱动.

   Connection connect(String url,Properties info)throws SQLException

  

    常用数据库url:

    SQLServler2000: jdbc:microsoft:sqlserver://localhost:1433;databasename=pubs

    Oracle: oracle;thin:@localhost:1521:ORCL

    MySQL: jdbc:mysql://localhost:3306/databasename(数据库名称)

  

  JDBC-ODBC桥的方式:

  Drvier类名: sun.jdbc.odbc.JdbcOdbcDriver

  JDBC URL : jdbc:odbc:datasource_name

在使用本地的纯JAVA驱动程序访问数据库时,只需要要将JDBC和数据库的配置保存在xml文件中,这样在JAVA程序更换数据库时,则不需要改动JAVA程序,更改相应的XML文件就行了。但必须注意的是数据库之间的差异。

 

参考书籍:JAVA WEB 开发详解》作者:孙鑫

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值