深入探讨JDBC

JDBCJava Database Connection从字面上看就知道是Java应用与数据库之间的通信。

谈到JDBC不得不考虑的几个重要的问题

1. Java访问数据库的时候,由于数据库可能由不同的厂商所提供,底层的通信机制可能是不相同的,在这种情况下,Java语言怎样保证与各种数据库通信呢?

2. Java能够连接到各种数据库后,怎样去访问呢?

Java连接到数据库可以通过下面三种方法:

1. 通过JDBC-ODBC桥接驱动器:是微软公司提出的一种解决方案,微软公司在Windows系统里面就编写了一个模块,名叫ODBC,开放数据库连接,然后所有安装到Windows系统上的数据库只要支持ODBC(基本所有数据库都支持),通过ODBC就能够连接到数据库,所以只要Java语言与ODBC通信就行了,不需要知道是什么厂商的数据库。

2. 通过数据库厂商提供的JDBC驱动:通常数据库不但要求在Windows平台上面运行,还要在UnixLinux等平台上面运行,这中情况就不能使用ODBC,所以数据库厂商自己提供一个数据库驱动,让Java来注册驱动,连接到各种数据库,所以支持跨平台。如果需要修改不同厂商的数据库,这时就需要修改注册驱动和获得连接的代码,这也是这种方法的存在缺点。

3. 通过在服务器上面建立连接池、数据源:通过JNDI技术寻找服务器上的数据源,进而通过连接池连接到数据库。连接池支持所有的数据库,如果需要修改不同厂商数据库,只需要在服务器的控制台上修改相关信息,并不需要修改代码。通常服务器是跨平台的。所以这种方法通常是连接数据库最好的方法。

通过JDBC-ODBC桥接驱动器连接数据库

建立ODBC数据源:在控制面板->管理工具->数据源->系统DSN->添加各种数据库的数据源。

案例:查询员工表里面的全部资料,在控制台上打印。

编写QueryEmployees类,实现ODBC数据源的方式查找所有员工的信息,代码如下
新增、删除、修改等操作略之。

调用存储过程

调用存储过程,分以下三种情况:

1. 调用不带参数的存储过程

2. 调用带参数的存储过程

3. 调用带输出参数的存储过程

编写CallPrc类,实现这三种情况下调用存储过程,代码如下

事务

案例:转账的时候,我的钱减少了,他的钱增加了,实现时希望这两个过程要么全部运行,要么全部不运行,这种情况就可以把这两个修改操作做成一个事务。

编写Transaction类,实现以上转账功能,代码如下

 通过数据库驱动程序连接数据库

案例:使用oracle驱动连接,查询所有员工信息。

编写OraDriver类,利用oracle驱动连接,查询所有的员工信息,代码如下

 通过Weblogic建立连接池、数据源连接数据库

Weblogic有一种能力,能够把很多数据库连接放到连接池里面,然后这些连接以数据源的形式对外发布,供外部访问,实现的具体步骤如下

1. 建立连接池(具体步骤略之);

2. 建立数据源(具体步骤略之),通过JNDI对外发布。

编写Pool类,实现weblogic的连接池和数据源技术来连接数据库,代码如下

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值