基于JDBC数据库连接池的应用研究

时间:2022-08-24 05:38:06

基于JDBC数据库连接池的应用研究

【摘 要】近年来,各大高校的教学系统中JDBC的数据库连接池技术成为教学应用中的新发展,本文通过对数据库连接池进行改进,减少系统运行流程、提高网页应用性能从而提升数据库的运作效率,以提高整个网页应用的运行效率来优化高校选课系统。

【关键词】JDBC 数据库连接池 事务处理 应用 并发

基于B/S架构下研发出一系列的教学系统的实时访问数据库,在每一次的Wed的连接请求后都会引发一连串的数据访问,这每次的数据访问都是一次数据库的连接,当我们在进行数据库连接、安全上下文配置、用户验证类似于这类任务时,往往成为最耗时的操作并且当有大量Wed的连接页面请求时便很容易发生处理速度的下降的状况,拉低效率。

一、 JDBC和数据库连接池

JDBC是用于执行SQL语句的JAVA API(Application Programming Interface,应用程序编程接口)I,可为多种关系型数据库(例如: DB2、Microsoft SQL Server、Microsoft Access、MySQL等)创建统一的访问连接口,它一般是由一些JAVA语言组成的语言编写的种类和数据接口等等,促使数据库的开发人员可凭借统一的应用程序编程借口编写应用程序。

数据库连接池的原理为在数据库连接时建立一个“连接池”。当用户需要反复问数据库时,并不是建立一个新的连接,而是在连接池中取出一个已建立的空闲连接来使用,完毕后再放入连接池供下一次网页访问使用,连接的建立与断开都有连接池来控制。同时,可通过设置最大连接数来避免系统连接数从国连接池数目。更重要的是可通过连接池的管理系统来监控数据库的连接数量、使用状况等等,来为系统的开发、调整、性能测试来提供数据参考。连接池由三部分组成,连接池的基本操作流程如图1所示:

图1 连接池模式

二、数据库连接池的关键问题

(一)并发问题

为了提高连接管理服务的通用性及统一性,首先应考虑多线程环境等并发问题。JAVA语言中采用synchronized来保障线程的同步性。其方法为直接在方法前加上synchronized的关键词,例如:public synchronized void accessVal(int newVal)。

(二)多数据库服务器和多用户

一般大型企业级的应用就需用到对不用数据库的连接(例如:DB2和Oracle)。以设计一个简单的单例模式数据库连接池管理类为例,在连接池管理类在创建实例时读取某一资源文件,而资源文件中存放着多个数据库的Url地址(Uniform Resoure Locator)、用户名、密码等。例如:tx.url= 19.63.113.200/tx_it,tx.user=zjt, tx.password=888888。

(三)事务处理

对于Connection类的连接可通过对Connection进行设置的、必须是数据库的autocommit属性为false,然后显示调用rollback或者commit来实现。并且需要高效的进行Connection的复用来提供相对应的事务支持机制。以每个事务占据一个连接来实现运行来降低事务管理的繁琐与复杂。

(四)连接池的配置与维护

数据库连接池中连接的个数可由minConn(最小连接数)和maxConn(最大连接数)来限制,以达到最佳的系统性能。minConn的连接数为系统启动时数据连接池的创建个数。创建过多则会导致系统运行速度慢,但创建后系统运行就快的多,而创建过少则会发生创建过多响应慢的状况。类似于这样的情况,可在系统开发时制定较小的minConn可起到快速开发的作用,在系统的实际使用时再制定为较大的可达到提高访问速度的效果。maxConn是数据库连接池中可允许连接的最大数,对于最大值得设置可根据实际情况而定,通过多次的测试来调整最佳点。

三、数据库连接池在高校选课系统中的应用

数据库连接池应用由三部分组成DBConnectionManager类,进行注册JDBC驱动以及数据装载。以属性文件中的定义属性来建立DBConnectionPool(连接池)负责监控应用程序对数据库连接池的引用。DBConnectionPool(连接池)类,控制从数据库连接池创建连接、再将连接反馈给数据库连接池、关闭连接释资源等等。本文对实现数据库连接池和管理类DBConnectionManager,控制和提供与多个连接池的数据接口。每个连接池都负责管理一组封装过得JDBC连接对象的连接数。经过封装后的JDBC的连接对象可被任意数量的Model组件共享。

四、结语

目前,B/S结构被广泛的运用于网页应用程序,便由此产生了多用户同时访问数据库的问题。JDBC的数据库连接池技术已成功的被应用于高校教学系统的开发,本文通过对数据库连接池进行改进,并阐述了建立数据库连接池的例子来证实数据库连接池的访问方法,事实证明,只有减少系统运行流程、提高网页应用的性能由此来减少系统运行次数来提高系统的运行效率。

参考文献:

[1]何爱华,戚晓明.JDBC数据库连接池中事务处理的研究与实现[J].四川理工学院学报(自然科学版),2011,24(4):422-425.

[2]刘冰.基于JDBC数据库连接池技术的研究与实现[J].计算机与现代化,2010(7):32-34.

上一篇:浅谈企业内部控制管理与ERP系统的融合 下一篇:Word教学方法及使用技巧