【Dongle】【Java】规范之JDBC

JDBC

       JDBC(Java Data BaseConnectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。JDBC提供了一种基准,据此可以构建更高级的工具和接口,使数据库开发人员能够编写数据库应用程序,同时,JDBC也是个商标名。


作用

         简单地说,JDBC 可做三件事:

    • 与数据库建立连接;
    • 发送操作数据库的语句;
    • 处理结果。

 

 API

       JDBC API为访问不同的数据库提供了一种统一的途径,就像ODBC一样,JDBC对开发者屏蔽了一些细节问题,同时,JDBC对数据库的访问也具有平台无关性。提供独立于平台的数据库访问;位置透明;对专有数据库的问题有透明。

       JDBC 是个"低级"接口,也就是说,它用于直接调用 SQL 命令。在这方面它的功能极佳,并比其它的数据库连接 API 易于使用,但它同时也被设计为一种基础接口,在它之上可以建立高级接口和工具。高级接口是"对用户友好的"接口,它使用的是一种更易理解和更为方便的 API,这种API在幕后被转换为诸如 JDBC 这样的低级接口。

       在关系数据库的"对象/关系"映射中,表中的每行对应于类的一个实例,而每列的值对应于该实例的一个属性。于是,程序员可直接对 Java 对象进行操作;存取数据所需的 SQL 调用将在"掩盖下"自动生成。此外还可提供更复杂的映射,例如将多个表中的行结合进一个 Java 类中。

       随着人们对 JDBC 的兴趣日益增涨,越来越多的开发人员一直在使用基于 JDBC 的工具,以使程序的编写更加容易。程序员也一直在编写力图使最终用户对数据库的访问变得更为简单的应用程序。例如应用程序可提供一个选择数据库任务的菜单。任务被选定后,应用程序将给出提示及空白供填写执行选定任务所需的信息。所需信息输入应用程序将自动调用所需的 SQL 命令。在这样一种程序的协助下,即使用户根本不懂 SQL 的语法,也可以执行数据库任务。

 

体系结构

        有四种连接RDBMS的方式

Type1:JDBC-ODBC Bridge通过应用内的ODBC Driver连接
Type2:JDBC-Native Bridge 通过应用内的NativeAPI(C,C++)连接
Type3:JDBC-Net Bridge 通过应用外的NetWorkServer(WLS)连接(多层Drivers)
Type4:All Java JDBC Driver可以直接与其连接(直接访问数据库)

 

        多层Drivers连接方式中,WLS进行监控,构成三层架构,其中类型需要有类型1,2,4决定。


需要注意的是:至少要有一个链接池Connection Pool 和一个数据源DataSource。

        直接访问数据库方式,需要加载JDBC驱动器类才能正常工作。

         

			import java.sql.*;
			try{
				class.forName("com.pointbase.jdbc.jdbcUIniversalDrivaer")
				Connectiong con = DriverManager.getConnect("jdbc:pointbase://server:port/MyDatabase");
				Statement stmt = con.createStatement();
				String sql = "SELECT * FROM MYTABLE";
				ResultSet res = stmt.executeQuery(sql);
				while(res.next()){
					String col1 = res.getString("MYCOLUMN1");
					int col2 = res.getInt("MYCOLUMN2");
					...
				}
			}catch(Exception e){
				...
			}

 

连接池

消除频繁建立连接所需的负载

用于管理数据库连接的管理对象

提供可共享,安全的连接


数据源

从连接池中提供连接的被管理的工厂对象,绑定到JNDI并使用管理控制台配置

 

不足

         尽管JDBC在JAVA语言层面实现了统一,但不同数据库仍旧有许多差异。为了更好地实现跨数据库操作,于是诞生了Hibernate项目,Hibernate是对JDBC的再封装,实现了对数据库操作更宽泛的统一和更好的可移植性。


生活实例

        我们的粮仓,一般会配一个仓库管理员,对于仓库的事,找他就行,他拿着钥匙,和保存各个仓库的具体数据信息!

 

评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值