欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種基于Java的自帶連接池管理的數(shù)據(jù)持久化組件的制作方法

文檔序號:9546947閱讀:405來源:國知局
一種基于Java的自帶連接池管理的數(shù)據(jù)持久化組件的制作方法
【專利說明】一種基于Java的自帶連接池管理的數(shù)據(jù)持久化組件
[0001]
技術(shù)領(lǐng)域
[0002]本發(fā)明涉及一種基于Java的自帶連接池管理的數(shù)據(jù)持久化組件,屬于軟件開發(fā)領(lǐng)域。
【背景技術(shù)】
[0003]在基于java的數(shù)據(jù)庫應(yīng)用軟件開發(fā)過程,數(shù)據(jù)庫數(shù)據(jù)的基本讀、寫訪問是數(shù)據(jù)庫應(yīng)用軟件開發(fā)的基礎(chǔ)部分,數(shù)據(jù)的持久化是基于java應(yīng)用軟件開發(fā)中的基礎(chǔ)架構(gòu),數(shù)據(jù)庫數(shù)據(jù)持久化最早是由Sun公司提出的EJB組件中的實體組件層來完成,實體組件分為兩種,一種是容器管理的實體組件;另一種是組件管理的實體組件。由于EJB中的實體組件復(fù)雜和效率不高,許多公司開發(fā)自己的數(shù)據(jù)庫數(shù)據(jù)持久化架構(gòu),如:IBATIS、Hibernate、PBeans等,不同框架都有自己的一套數(shù)據(jù)持久化體系,絕大部分都比較復(fù)雜,需要技術(shù)人員專門學(xué)習(xí)框架的體系和方法,經(jīng)過培訓(xùn)才能熟練地掌握一種數(shù)據(jù)持久化的方法,為應(yīng)用軟件開發(fā)服務(wù)。
[0004]自帶連接池管理的數(shù)據(jù)持久化組件是一個通用的實現(xiàn)基本的數(shù)據(jù)庫讀寫訪問會話組件,是DataAccessOb ject,簡稱為DAO ;封裝了 JDBC方法,通過大量的方法重載實現(xiàn)對任意數(shù)據(jù)庫數(shù)據(jù)讀或?qū)懟静僮?;由于?yīng)用服務(wù)器的數(shù)據(jù)庫連接釋放的不即時,常常會導(dǎo)致沒有釋放的大量的數(shù)據(jù)庫連接導(dǎo)致應(yīng)用系統(tǒng)速度降低,當(dāng)數(shù)據(jù)庫連接數(shù)量超過數(shù)據(jù)庫設(shè)置的允許連接數(shù)時導(dǎo)致系統(tǒng)出現(xiàn)故障。

【發(fā)明內(nèi)容】

[0005]為了解決上述技術(shù)問題,本發(fā)明提供了一種基于Java的自帶連接池管理的數(shù)據(jù)持久化組件。
[0006]為了達(dá)到上述目的,本發(fā)明所采用的技術(shù)方案是:
一種基于Java的自帶連接池管理的數(shù)據(jù)持久化組件,包括連接池管理器和會話組件;所述連接池管理器用以對每個數(shù)據(jù)源設(shè)置了一個獨立的連接池,將應(yīng)用服務(wù)器從數(shù)據(jù)庫系統(tǒng)獲取的連接交給一個和數(shù)據(jù)庫數(shù)據(jù)源對應(yīng)的一個連接池來管理;所述連接池管理器內(nèi)對外提供了兩個方法,第一個方法用以根據(jù)數(shù)據(jù)庫數(shù)據(jù)源名稱從連接池管理器中獲取MyConnect1n,第二個方法用以回收數(shù)據(jù)庫連接,將一個數(shù)據(jù)庫數(shù)據(jù)源的MyConnect1n交給連接池管理器;所述會話組件封裝了 JDBC的數(shù)據(jù)庫數(shù)據(jù)操作方法,從連接池管理器中獲取數(shù)據(jù)庫連接,通過方法重載,為上層組件提供了數(shù)據(jù)庫數(shù)據(jù)的讀、寫操作,為數(shù)據(jù)庫應(yīng)用軟件提供一個數(shù)據(jù)訪問層。
[0007]MyConnect1n是JDBC的數(shù)據(jù)庫連接java.sql.Connect1n的包裝類,包含一個數(shù)據(jù)源名稱和一個java.sql.Connect1n,表示了一個建立在數(shù)據(jù)源上的數(shù)據(jù)庫連接對象。
[0008]本發(fā)明所達(dá)到的有益效果:本發(fā)明將應(yīng)用服務(wù)器獲取的JDBC數(shù)據(jù)庫連接java.sql.Connect1n放入自帶的連接池,將JDBC的數(shù)據(jù)庫連接java.sql.Connect1n封裝成MyConnect1n,并通過連接池管理器,支持大量并發(fā)的應(yīng)用軟件對數(shù)據(jù)庫的讀或?qū)懙脑L問,同時用一個會話組件代替了實體組件,一方面對于開發(fā)人員來說使用更加簡便;另一方面提高了數(shù)據(jù)庫訪問效率,消除了原來通過實體組件實現(xiàn)數(shù)據(jù)庫持久化帶來的數(shù)據(jù)訪問效率低下的問題。
【附圖說明】
[0009]圖1為本發(fā)明的結(jié)構(gòu)圖。
【具體實施方式】
[0010]下面結(jié)合附圖對本發(fā)明作進(jìn)一步描述。以下實施例僅用于更加清楚地說明本發(fā)明的技術(shù)方案,而不能以此來限制本發(fā)明的保護(hù)范圍。
[0011]如圖1所示,一種基于Java的自帶連接池管理的數(shù)據(jù)持久化組件,包括連接池管理器和會話組件。
[0012]連接池管理器用以對每個數(shù)據(jù)源設(shè)置了一個獨立的連接池,將應(yīng)用服務(wù)器從數(shù)據(jù)庫系統(tǒng)獲取的連接交給一個和數(shù)據(jù)庫數(shù)據(jù)源對應(yīng)的一個連接池來管理。
[0013]連接池管理器內(nèi)對外提供了兩個方法:
第一個方法,用以根據(jù)數(shù)據(jù)庫數(shù)據(jù)源名稱從連接池管理器中獲取MyConnect1n ;MyConnect1n是JDBC的數(shù)據(jù)庫連接java.sql.Connect1n的包裝類,包含一個數(shù)據(jù)源名稱和一個java.sql.Connect1n,表示了一個建立在數(shù)據(jù)源上的數(shù)據(jù)庫連接對象;
如:MyConnect1ngetConnect1n (String dataSource),dataSource 為 String 類型的數(shù)據(jù)源名稱。
[0014]第二個方法,用以回收數(shù)據(jù)庫連接,將一個數(shù)據(jù)庫數(shù)據(jù)源的MyConnect1n交給連接池管理器;
如:oid closeConnect1n(String dataSource, MyConnect1nmyconn),MyConnect1nmyconn為需要回收的數(shù)據(jù)庫連接。
[0015]會話組件封裝了 JDBC的數(shù)據(jù)庫數(shù)據(jù)操作方法,從連接池管理器中獲取數(shù)據(jù)庫連接,通過方法重載,為上層組件提供了數(shù)據(jù)庫數(shù)據(jù)的讀、寫操作,為數(shù)據(jù)庫應(yīng)用軟件提供一個數(shù)據(jù)訪問層。
[0016]會話組件中封裝的方法說明如下:
K public void ejbCreate (),創(chuàng)建組件實例方法;
2Npublic void execSql(String sql, ArrayList paramList, String dataSource),在數(shù)據(jù)源指示的數(shù)據(jù)庫上實現(xiàn)給定SQL語句;其中,sql為SQL語句,paramList為參數(shù)對象列表,dataSource為數(shù)據(jù)源名稱。
[0017]3、public void execSql(String sql, Object[] objects, String dataSource),在數(shù)據(jù)源指示的數(shù)據(jù)庫上實現(xiàn)給定SQL語句;其中,objects為參數(shù)對象數(shù)組。
[0018]4、public void execSql (String sql, String dataSource,PstmtParamSetterpps),在數(shù)據(jù)源指示的數(shù)據(jù)庫上實現(xiàn)給定SQL語句;其中,pps為實現(xiàn)了PstmtParamSetter接口的注入對象實例。
[0019]5、public List execSqlQuery (String sql, String dataSource,RowDataHandlerrdh),在數(shù)據(jù)源指示的數(shù)據(jù)庫上執(zhí)行SQL查詢,返回獲取的對象列表。其中,rdh是實現(xiàn)了接口 RowDataHandler的注入對象實例。
[0020]6、 public List execSqlQuery(String sql, ArrayList paramList, StringdataSource, RowDataHandler rdh),在數(shù)據(jù)源指示的數(shù)據(jù)庫上執(zhí)行SQL查詢,返回獲取的對象列表;其中rdh是實現(xiàn)了接口 RowDataHandler的注入對象實例。
[0021]7、 public List execSqlQuery(String sql, Object[] objects, StringdataSource, RowDataHandlerrdh)在數(shù)據(jù)源指示的數(shù)據(jù)庫上執(zhí)行SQL查詢,返回獲取的對象列表。
[0022]8、 public List execSqlQuery(String sql, PstmtParamSetterpps, StringdataSource, RowDataHandlerrdh),在數(shù)據(jù)源指示的數(shù)據(jù)庫上執(zhí)行SQL查詢,返回獲取的對象列表。
[0023]9、public Map execSqlQuery (String sql, String dataSource, StringkeyField,StringvalueField),在數(shù)據(jù)源指示的數(shù)據(jù)庫上執(zhí)行SQL查詢,根據(jù)給定key字段和value字段返回Map映射。其中,keyField為key字段名,valueField為值字段名。
[0024]10、public Map execSqlQuery(String sql, Object[] objects, StringdataSource, StringkeyField, Stringvalue
當(dāng)前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
门源| 永康市| 监利县| 攀枝花市| 晴隆县| 平潭县| 赤峰市| 汤阴县| 长葛市| 东方市| 鄂托克前旗| 土默特左旗| 江津市| 安阳市| 灌云县| 如东县| 潜山县| 修武县| 清水河县| 小金县| 海原县| 江山市| 岫岩| 沂水县| 综艺| 海盐县| 武夷山市| 井研县| 古丈县| 泰州市| 威信县| 宜黄县| 陕西省| 河曲县| 黄浦区| 北京市| 钦州市| 平顺县| 杂多县| 威海市| 木兰县|