jdbc是提供给java访问数据库的连接方式,在任何时候都可以创建,而在实际应用中,因为创建连接和销毁连接都会有系统(创建时间、内存等)的损耗,为了减少这种损耗,在系统启动时就创建一定数量的jdbc连接,在需要使用时派发一个连接,使用完以后收回,而不再需要临时创建,那么这些jdbc连接就统称为数据库连接池
ODBC(Open Database Connectivity,开放数据库互连)是微软公司开放服务结构(WOSA,Windows Open Services Architecture)中有关数据库的一个组成部分,它建立了一组规范,并提供了一组对数据库访问的标准API(应用程序编程接口)。这些API利用SQL来完成其大部分任务。ODBC本身也提供了对SQL语言的支持,用户可以直接将SQL语句送给ODBC
JDBC是执行SQL语句的Java API。JDBC本身是一个产品的商标名,但它也可被看作为"Ja
va Database Connecivity(Java数据库连接)"。它由一组用Java语言编写的类与接口组成。
JDBC已成为一种供工具/数据库开发者使用的标准API,用户可以用纯Java API来编写数据库
应用。
1)Java不能直接使用ODBC。因为ODBC使用C语言接口,如果让Java来调用本机C代码的话
,那么会在安全、属性、健壮性、应用的可移植性等方面带来困难。
(2)不希望把ODBC C API逐字地翻译成Java API。例如,ODBC使用了大量的易于出错的指
针,而Java取消了这种不安全的指针。现在通过JDBC,把ODBC翻译成具有Java风格的面向对象
的接口。
(3)ODBC难以学习。ODBC把简单功能与高级功能混杂在一起,即便是简单的查询也会带来
复杂的任选项。而JDBC的设计使得简单的事情用简单的做法,仅在必要时才让用户使用高级
功能。
(4)JDBC的Java API提供"纯Java"的解决办法。当使用ODBC时,ODBC驱动器管理程序与驱
动器必须手工地装入到每架客户机上。而JDBC驱动器全部是用Java编写的,JDBC代码则在所
有Java平台(从网络计算机到主机)上都可自动安装,并且是可移植的和安全的。
JDBC是Sun公司制定的一个可以用Java语言连接数据库的技术。
JDBC工作原理主要分3个步骤:1、加载数据库驱动。2、获取数据库连接。3、发送sql语句访问数据库 。
1、加载数据驱动:使用ClassforName方法,调用这个方法会加载数据库驱动comMySQLjdbcdriver。
关于数据库驱动的理解,其实是sun公司给了一个Driver的接口,然后各个数据厂商根据自己的数据库
来实现这个接口。当要访问数据库的时候,需要引入这个第三方类库。类的加载主要分为5个部分,
加载、验证、准备、解析、初始化。在初始化的部分用到了DriverManagerregisterDriver()方法,将
自己注册给DriverManager的Driver接口。这个地方体现了多态。这个时候就可以使用Driver了。
2、获取数据库连接DriverManagergetConnection()。这个方法主要调用driver的connect()方法
返回一个实现了Connection接口的对象。
3、然后利用Connection对象创建Statement,发送sql语句访问数据库。
延伸:JDBC基础知识
JDBC(Java DataBase Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。JDBC为数据库开发人员提供了一个标准的API,据此可以构建更高级的工具和接口,使数据库开发人员能够用纯 Java API 编写数据库应用程序,并且可跨平台运行,并且不受数据库供应商的限制。
1、跨平台运行:这是继承了Java语言的“一次编译,到处运行”的特点;
2、不受数据库供应商的限制:巧妙在于JDBC设有两种接口,一个是面向应用程序层,其作用是使得开发人员通过SQL调用数据库和处理结果,而不需要考虑数据库的提供商;另一个是驱动程序层,处理与具体驱动程序的交互,JDBC驱动程序可以利用JDBC API创建Java程序和数据源之间的桥梁。应用程序只需要编写一次,便可以移到各种驱动程序上运行。Sun提供了一个驱动管理器,数据库供应商——如MySQL、Oracle,提供的驱动程序满足驱动管理器的要求就可以被识别,就可以正常工作。所以JDBC不受数据库供应商的限制。
JDBC API可以作为连接Java应用程序与各种关系数据库的纽带,在带来方便的同时也有负面影响,以下是JDBC的优、缺点。优点如下:
· *** 作便捷:JDBC使得开发人员不需要再使用复杂的驱动器调用命令和函数;
· 可移植性强:JDBC支持不同的关系数据库,所以可以使同一个应用程序支持多个数据库的访问,只要加载相应的驱动程序即可;
· 通用性好:JDBC-ODBC桥接驱动器将JDBC函数换成ODBC;
· 面向对象:可以将常用的JDBC数据库连接封装成一个类,在使用的时候直接调用即可。
缺点如下:
· 访问数据记录的速度受到一定程度的影响;
· 更改数据源困难:JDBC可支持多种数据库,各种数据库之间的 *** 作必有不同,这就给更改数据源带来了很大的麻烦
我建议你去看下sql server 2000的书,上面有讲ODBC,的,比下面的要详细些
ODBC
ODBC(Open DataBase Connectivity)是微软倡导的、当前被业界广泛接受的、用于数据库访问的应用程序编程接口(API),它以X/Open和 ISO/IEC的调用级接口(CLI)规范为基础,并使用结构化查询语言(SQL)作为其数据库访问语言。 ODBC总体结构有四个组件:
1应用程序 执行处理并调用ODBC API函数,以提交 SQL语句 并检索结果。
2驱动程序管理器(Driver Manager) 根据应用程序需要加载/卸载驱动程序,处理ODBC函数调用,或把它们传送到驱动程序。
3驱动程序 处理ODBC函数调用,提交SQL请求到一个指定的数据源,并把结果返回到应用程序。如果有必要,驱动程序修改一个应用程序请求,以使请求与相关的DBMS支持的语法一致。
4数据源 包括用户要访问的数据及其相关的 *** 作系统、DBMS及用于访问DBMS的网络平台。
JDBC
JDBC(Java DataBase Connectivity)是Java与数据库的接口规范,JDBC定义了一个支持标准SQL功能的通用低层的应用程序编程接口(API),它由Java 语言编写的类和接口组成,旨在让各数据库开发商为Java程序员提供标准的数据库API。 JDBC API定义了若干Java中的类,表示数据库连接、SQL指令、结果集、数据库元数据等。它允许Java程序员发送SQL指令并处理结果。通过驱动程序管理器,JDBC API可利用不同的驱动程序连接不同的数据库系统。
JDBC与ODBC都是基于X/Open的SQL调用级接口, JDBC的设计在思想上沿袭了ODBC,同时在其主要抽象和SQL CLI实现上也沿袭了ODBC,这使得JDBC容易被接受。JDBC的总体结构类似于ODBC,也有四个组件:应用程序、驱动程序管理器、驱动程序和数据源。
以上就是关于数据库连接池与JDBC的区别全部的内容,包括:数据库连接池与JDBC的区别、sun.jdbc.odbc.JdbcOdbcDriver具体什么意思、JDBC的工作原理是什么等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)