zoukankan      html  css  js  c++  java
  • Java连接数据库的4中方式详解

    Java连接数据库的方式有多种:根据所需要的不同数据库驱动分,分为四种:

    1:1类驱动。这就是JDBC-ODBC桥的方式。

    但这种方式不适合程序的重用与维护,不推荐使用。需要数据库的ODBC驱动。

    2:2类驱动。这就是JDBC+厂商API的形式。

    厂商API一般使用C编写,所以,这种方式也不长使用。

    3:3类驱动。这就是JDBC+厂商Database Connection Server+DataBase的形式。

    这种方法就是在JAVA 与 DATABASE之间起了一台专门用与数据库连接的服务器(一般由数据库厂商提供)。

    他的好处在于能优化连接。

    4:4类驱动。这就是纯JDBC+DATABASE的连接方式。也是推荐的连接方式。

    这使得APPLICATION与数据库分开,开发者只需关心内部逻辑的实现而不需注重数据库连接的具体实现。

    在这其中有两种连接的方式:硬编码方式,就是在程序中硬性编入数据库连接的所须参数。

    JNDI DataSource方式。就是在程序运行的外布环境中又称(Context)设置一个datasource数据源,有一个jndi 名称,程序只须查找此名称就可得到一个数据库连接的对象。

     

     

    Type 1: jdbc-odbc桥 Jdbc-odbc 桥 是sun公司提供的,是jdk提供的的标准api. 

    这种类型的驱动实际是把所有 jdbc的调用传递给odbc ,再由odbc调用本地数据库驱动代码.( 本地数据库驱动代码是指 由数据库厂商提供的数据库操作二进制代码库,例如在Oracle for windows中就是oci dll 文 件)

    只要本地机装有相关的odbc驱动那么采用jdbc-odbc桥几乎可以访问所有的数据库,jdbc- odbc方法对于客户端已经具备odbc driver的应用还是可行的。

    但是,由于jdbc-odbc先调用 odbc再由odbc去调用本地数据库接口访问数据库.所以,执行效率比较低,对于那些大数据 存取的应用是不适合的.

    而且,这种方法要求客户端必须安装odbc 驱动,所以对于基于 internet ,intranet的应用也是不合适的.因为,你不可能要求所有客户都能找到odbc driver.

    =====一般ACCESS用到的比较多,初学者用。实际项目是不用的

     

    Type 2: 本地Api驱动

    本地api驱动直接把jdbc调用转变为数据库的标准调用再去访问数据库。

    这种方法需要本地 数据库驱动代码. 本地api驱动|厂商DB代码---数据库Server这种驱动比起jdbc-odbc桥执行效率大大提高了.

    但是,它仍然需要在客户端加载数据库厂商 提供的代码库.这样就不适合基于internet的应用.并且,他的执行效率比起3,4型的jdbc驱动 还是不够高。

     

    Type3:网络协议驱动 

    这种驱动实际上是根据我们熟悉的三层结构建立的. jdbc先把对数局库的访问请求传递给网 络上的中间件服务器. 中间件服务器再把请求翻译为符合数据库规范的调用,

    再把这种调用传给数据库服务器.如果中间件服务器也是用java开发的,那么在在中间层也可以使用1,2型 jdbc驱动程序作为访问数据库的方法. 

    网络协议驱动--中间件服务器---数据库Server

    由于这种驱动是基于server的.所以,它不需要在客户端加载数据库厂商提供的代码库.而且 他在执行效率和可升级性方面是比较好的.因为大部分功能实现都在server端,

    所以这种驱动 可以设计的很小,可以非常快速的加载到内存中. 但是,这种驱动在中间件层仍然需要有配置 其它数据库驱动程序,并且由于多了一个中间层传递数据,

    它的执行效率还不是最好.

     

    Type4 纯JAVA驱动 

    这种驱动直接把jdbc调用转换为符合相关数据库系统规范的请求.由于4型驱动写的应用可 以直接和数据库服务器通讯.这种类型的驱动完全由java实现,

    因此实现了平台独立性. 本地协议驱动---------数据库Server

    由于这种驱动不需要先把jdbc的调用传给odbc或本地数据库接口或者是中间层服务器.所以它的执行效率是非常高的.而且,它根本不需要在客户端或服务器端装载任何的软件

    或驱动. 这种驱动程序可以动态的被下载.但是对于不同的数据库需要下载不同的驱动程序.

     

    以上对四种类型的jdbc驱动做了一个说明.那么它们适合那种类型的应用开发呢?

    提示:Jdbc-odbc桥由于它的执行效率不高,更适合做为开发应用时的一种过度方案,或着对于初学 者了解jdbc编程也较适用.

     对于那些需要大数据量操作的应用程序则应该考虑2,3,4型驱动.在internet方面的应用可以考虑2型驱动,

    但是由于3,4型驱动在执行效率上比2型驱动有着明显的优势,而且目前开发 的趋势是使用纯java.所以3,4型驱动也可以作为考虑对象. 至于基于internet方面的应用就只有考虑3,4型驱动了. 因为3型驱动可以把多种数据库驱动都配置在中间层服务器.所以3型驱动最适合那种需要同时连接多个不同种类的数据库, 并且对并发连接要求高的应用. 4型驱动则适合那些连接单一数据库的工作组应用

    路漫漫其修远兮,吾将上下而求索
  • 相关阅读:
    微人事项目-mybatis-持久层
    通过外键连接多个表
    springioc
    Redis 消息中间件 ServiceStack.Redis 轻量级
    深度数据对接 链接服务器 数据传输
    sqlserver 抓取所有执行语句 SQL语句分析 死锁 抓取
    sqlserver 索引优化 CPU占用过高 执行分析 服务器检查
    sql server 远程备份 bak 删除
    冒泡排序
    多线程 异步 beginInvoke EndInvoke 使用
  • 原文地址:https://www.cnblogs.com/-brl/p/7297777.html
Copyright © 2011-2022 走看看