一种基于Java的自带连接池管理的数据持久化组件的制作方法

文档序号:9546947阅读:342来源:国知局
一种基于Java的自带连接池管理的数据持久化组件的制作方法
【专利说明】一种基于Java的自带连接池管理的数据持久化组件
[0001]
技术领域
[0002]本发明涉及一种基于Java的自带连接池管理的数据持久化组件,属于软件开发领域。
【背景技术】
[0003]在基于java的数据库应用软件开发过程,数据库数据的基本读、写访问是数据库应用软件开发的基础部分,数据的持久化是基于java应用软件开发中的基础架构,数据库数据持久化最早是由Sun公司提出的EJB组件中的实体组件层来完成,实体组件分为两种,一种是容器管理的实体组件;另一种是组件管理的实体组件。由于EJB中的实体组件复杂和效率不高,许多公司开发自己的数据库数据持久化架构,如:IBATIS、Hibernate、PBeans等,不同框架都有自己的一套数据持久化体系,绝大部分都比较复杂,需要技术人员专门学习框架的体系和方法,经过培训才能熟练地掌握一种数据持久化的方法,为应用软件开发服务。
[0004]自带连接池管理的数据持久化组件是一个通用的实现基本的数据库读写访问会话组件,是DataAccessOb ject,简称为DAO ;封装了 JDBC方法,通过大量的方法重载实现对任意数据库数据读或写基本操作;由于应用服务器的数据库连接释放的不即时,常常会导致没有释放的大量的数据库连接导致应用系统速度降低,当数据库连接数量超过数据库设置的允许连接数时导致系统出现故障。

【发明内容】

[0005]为了解决上述技术问题,本发明提供了一种基于Java的自带连接池管理的数据持久化组件。
[0006]为了达到上述目的,本发明所采用的技术方案是:
一种基于Java的自带连接池管理的数据持久化组件,包括连接池管理器和会话组件;所述连接池管理器用以对每个数据源设置了一个独立的连接池,将应用服务器从数据库系统获取的连接交给一个和数据库数据源对应的一个连接池来管理;所述连接池管理器内对外提供了两个方法,第一个方法用以根据数据库数据源名称从连接池管理器中获取MyConnect1n,第二个方法用以回收数据库连接,将一个数据库数据源的MyConnect1n交给连接池管理器;所述会话组件封装了 JDBC的数据库数据操作方法,从连接池管理器中获取数据库连接,通过方法重载,为上层组件提供了数据库数据的读、写操作,为数据库应用软件提供一个数据访问层。
[0007]MyConnect1n是JDBC的数据库连接java.sql.Connect1n的包装类,包含一个数据源名称和一个java.sql.Connect1n,表示了一个建立在数据源上的数据库连接对象。
[0008]本发明所达到的有益效果:本发明将应用服务器获取的JDBC数据库连接java.sql.Connect1n放入自带的连接池,将JDBC的数据库连接java.sql.Connect1n封装成MyConnect1n,并通过连接池管理器,支持大量并发的应用软件对数据库的读或写的访问,同时用一个会话组件代替了实体组件,一方面对于开发人员来说使用更加简便;另一方面提高了数据库访问效率,消除了原来通过实体组件实现数据库持久化带来的数据访问效率低下的问题。
【附图说明】
[0009]图1为本发明的结构图。
【具体实施方式】
[0010]下面结合附图对本发明作进一步描述。以下实施例仅用于更加清楚地说明本发明的技术方案,而不能以此来限制本发明的保护范围。
[0011]如图1所示,一种基于Java的自带连接池管理的数据持久化组件,包括连接池管理器和会话组件。
[0012]连接池管理器用以对每个数据源设置了一个独立的连接池,将应用服务器从数据库系统获取的连接交给一个和数据库数据源对应的一个连接池来管理。
[0013]连接池管理器内对外提供了两个方法:
第一个方法,用以根据数据库数据源名称从连接池管理器中获取MyConnect1n ;MyConnect1n是JDBC的数据库连接java.sql.Connect1n的包装类,包含一个数据源名称和一个java.sql.Connect1n,表示了一个建立在数据源上的数据库连接对象;
如:MyConnect1ngetConnect1n (String dataSource),dataSource 为 String 类型的数据源名称。
[0014]第二个方法,用以回收数据库连接,将一个数据库数据源的MyConnect1n交给连接池管理器;
如:oid closeConnect1n(String dataSource, MyConnect1nmyconn),MyConnect1nmyconn为需要回收的数据库连接。
[0015]会话组件封装了 JDBC的数据库数据操作方法,从连接池管理器中获取数据库连接,通过方法重载,为上层组件提供了数据库数据的读、写操作,为数据库应用软件提供一个数据访问层。
[0016]会话组件中封装的方法说明如下:
K public void ejbCreate (),创建组件实例方法;
2Npublic void execSql(String sql, ArrayList paramList, String dataSource),在数据源指示的数据库上实现给定SQL语句;其中,sql为SQL语句,paramList为参数对象列表,dataSource为数据源名称。
[0017]3、public void execSql(String sql, Object[] objects, String dataSource),在数据源指示的数据库上实现给定SQL语句;其中,objects为参数对象数组。
[0018]4、public void execSql (String sql, String dataSource,PstmtParamSetterpps),在数据源指示的数据库上实现给定SQL语句;其中,pps为实现了PstmtParamSetter接口的注入对象实例。
[0019]5、public List execSqlQuery (String sql, String dataSource,RowDataHandlerrdh),在数据源指示的数据库上执行SQL查询,返回获取的对象列表。其中,rdh是实现了接口 RowDataHandler的注入对象实例。
[0020]6、 public List execSqlQuery(String sql, ArrayList paramList, StringdataSource, RowDataHandler rdh),在数据源指示的数据库上执行SQL查询,返回获取的对象列表;其中rdh是实现了接口 RowDataHandler的注入对象实例。
[0021]7、 public List execSqlQuery(String sql, Object[] objects, StringdataSource, RowDataHandlerrdh)在数据源指示的数据库上执行SQL查询,返回获取的对象列表。
[0022]8、 public List execSqlQuery(String sql, PstmtParamSetterpps, StringdataSource, RowDataHandlerrdh),在数据源指示的数据库上执行SQL查询,返回获取的对象列表。
[0023]9、public Map execSqlQuery (String sql, String dataSource, StringkeyField,StringvalueField),在数据源指示的数据库上执行SQL查询,根据给定key字段和value字段返回Map映射。其中,keyField为key字段名,valueField为值字段名。
[0024]10、public Map execSqlQuery(String sql, Object[] objects, StringdataSource, StringkeyField, Stringvalue
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1