999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

WEB開發中數據庫連接池的使用技巧

2019-12-19 17:50:25王磊孟祥武李平
數碼設計 2019年3期
關鍵詞:數據庫系統

王磊,孟祥武,李平

WEB開發中數據庫連接池的使用技巧

王磊,孟祥武,李平

(煙臺海港信息通信有限公司,山東煙臺, 264000)

本文結合自己在煙臺港生產管理系統中多年的軟件開發經驗,創造性的提出一種性能更加優異的數據庫連接池技術,大大提高了港口業務系統海量數據的訪問性能,具有重要的推廣價值。

Web開發;JSP;數據庫連接池

1 引言

隨著信息技術的進步,B/S結構開發的各種系統應用得愈發廣泛,港口很多系統都使用B/S結構進行WEB開發的,而這其中如何連接數據庫便成為無法繞開的問題。傳統的JDBC連接方式固然應用簡單,但在面對海量的數據訪問要求時,無論在資源配置還是反應時間上都顯得力不從心,于是表現更加優異的數據庫連接池技術便成為非常有利的選擇。

2 問題的提出

連接池基本的思想是在系統初始化的時候,將數據庫連接作為對象存儲在內存中,當用戶需要訪問數據庫時,并非建立一個新的連接,而是從連接池中取出一個已建立的空閑連接對象。使用完畢后,用戶也并非將連接關閉,而是將連接放回連接池中,以供下一個請求訪問使用。而連接的建立、斷開都由連接池自身來管理。同時,還可以通過設置連接池的參數來控制連接池中的初始連接數、連接的上下限數以及每個連接的最大使用次數、最大空閑時間等等。也可以通過其自身的管理機制來監視數據庫連接的數量、使用情況等。

3 問題的原因與解決方法

為了更好的理解和使用數據庫連接池,我們可以嘗試封裝一個數據庫連接池類,并在開發過程中調用它,這樣我們更加靈活的掌握數據庫連接池技術。關鍵代碼如下:

public synchronized void createPool() throws Exception {

// 確保連接池沒有創建

// 如果連接池己經創建了,保存連接的向量 connections 不會為空

if (connections != null) {

return; // 如果己經創建,則返回

}

// 實例化 JDBC Driver 中指定的驅動類實例

Driver driver = (Driver) (Class.forName(this.jdbcDriver).newInstance());

DriverManager.registerDriver(driver); // 注冊 JDBC 驅動程序

// 創建保存連接的向量 , 初始時有 0 個元素

connections = new Vector();

// 根據 initialConnections 中設置的值,創建連接。

createConnections(this.initialConnections);

System.out.println("create pool");

}

然后創建由 numConnections 指定數目的數據庫連接,并把這些連接放入 connections 向量中。

private void createConnections(int numConnections) throws SQLException {

// 循環創建指定數目的數據庫連接

for (int x = 0; x < numConnections; x++) {

System.out.println(this.connections.size() + "," + this.maxConnections);

if (this.maxConnections > 0 && this.connections.size() >= this.maxConnections) {

System.out.println("連接數己經達到最大");

break;

}

try {

connections.addElement(new PooledConnection(newConnection()));

} catch (SQLException e) {

System.out.println(" 創建數據庫連接失敗! " + e.getMessage());

throw new SQLException();

}

System.out.println(" 數據庫連接己創建 ......");

}

}

創建一個新的數據庫連接并通過調用 getFreeConnection() 函數返回一個可用的數據庫連接,使用完畢關閉連接。

再創建一個DBManager來對連接池進行相應的控制。關鍵代碼如下:

public DBManager() {

if (inst != null)

return;

// TODO Auto-generated constructor stub

String connStr = String.format("jdbc:mysql://%s:%d/%s", Config.getInstance().mysqlHost, Config.getInstance().mysqlPort,

Config.getInstance().mysqlDB);

connectionPool = new ConnectionPool("com.mysql.jdbc.Driver", connStr, Config.getInstance().mysqlUser, Config.getInstance().mysqlPassword);

try {

connectionPool.createPool();

inst = this;

} catch (Exception e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}

public static PooledConnection getConnection() {

if (inst == null)

new DBManager();

try {

conn = connectionPool.getConnection();

} catch (SQLException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

return conn;

}

這樣就完成了一個數據庫連接池類的封裝,我們可以在程序中加以調用,滿足所需要的數據庫連接要求。

4 結束語:

B/S結構系統開發的過程中,數據庫的連接效率是非常重要的技術指標,在工作與學習的過程中不斷的研究與使用,會極大地提高自己的開發水準,滿足用戶不斷提高的要求與體驗。

[1] 劉曉華、周慧貞.JSP開發應用詳解. 北京:電子工業出版社

[2] Stephens.數據庫設計. 北京:機械工業出版社

[3] 趙松濤. Oracle 9i中文版基礎培訓教程. 北京:人民郵電出版社.

[4] 楊瑤.新課程研究(下旬刊)基于Java的Web數據庫連接池技術研究.2008

[5] 周彩蘭,陳才賢.武漢理工大學學報(信息與管理工程版) 2004

Application skills of database connection pool in WEB development

Wang Lei,Meng,Xiangwu,Li Ping

(Yantai SeaPort Information Communication Co., Ltd. , Yantai 264000, China)

Combining with many years of software development experience in Yantai Port production management system, this paper creatively proposes a database connection pool technology with better performance, which greatly improves the access performance of massive data in port business system and has important popularization value.

Web development JSP database connection pool

10.19551/j.cnki.issn1672-9129.2019.03.007

TP311.10

A

1672-9129(2019)03-0021-03

王磊(1972-),男,主要研究方向或從事的工作:港口生產系統管理及推廣應用。E-mail:bianjibu20080808@163.com

猜你喜歡
數據庫系統
Smartflower POP 一體式光伏系統
工業設計(2022年8期)2022-09-09 07:43:20
WJ-700無人機系統
ZC系列無人機遙感系統
北京測繪(2020年12期)2020-12-29 01:33:58
基于PowerPC+FPGA顯示系統
半沸制皂系統(下)
連通與提升系統的最后一塊拼圖 Audiolab 傲立 M-DAC mini
數據庫
財經(2017年15期)2017-07-03 22:40:49
數據庫
財經(2017年2期)2017-03-10 14:35:35
數據庫
財經(2016年15期)2016-06-03 07:38:02
數據庫
財經(2016年3期)2016-03-07 07:44:46
主站蜘蛛池模板: 亚洲天堂久久| 性视频一区| 欧美日本在线观看| 久久精品无码一区二区国产区 | 亚洲免费毛片| 嫩草影院在线观看精品视频| 婷五月综合| 伊人久久影视| 久久综合九色综合97婷婷| 在线亚洲天堂| 久久精品人妻中文系列| 曰AV在线无码| 国产激情无码一区二区免费 | 色综合天天娱乐综合网| 国产成人精品一区二区不卡| 欧美性猛交一区二区三区| 男人天堂亚洲天堂| 手机永久AV在线播放| 国产91无码福利在线 | 亚洲a免费| 美女被操91视频| 欧美国产综合视频| 欧美成人午夜视频免看| 韩日午夜在线资源一区二区| 日韩在线第三页| 色悠久久久| 呦视频在线一区二区三区| 亚洲视屏在线观看| 凹凸国产熟女精品视频| 欧美啪啪视频免码| 国内黄色精品| 亚洲成肉网| 97在线国产视频| 久操线在视频在线观看| 亚洲美女高潮久久久久久久| 原味小视频在线www国产| 国产精品2| 国产自产视频一区二区三区| 日本不卡在线| 精品久久久久久久久久久| 国产色爱av资源综合区| 91丨九色丨首页在线播放 | 亚洲成人在线播放 | 无码福利视频| 亚洲欧美日韩另类| 高清国产在线| 福利国产微拍广场一区视频在线| 国产精品永久不卡免费视频| 欧美五月婷婷| 欧洲欧美人成免费全部视频| 国产另类视频| 久久婷婷综合色一区二区| 国产精品自在线拍国产电影 | 看你懂的巨臀中文字幕一区二区 | 亚洲一级毛片免费观看| 久久久精品无码一二三区| 9999在线视频| 久久无码av三级| 欧美另类精品一区二区三区 | 日韩专区欧美| 中文毛片无遮挡播放免费| 中日无码在线观看| 久久国语对白| 国产在线视频二区| 亚洲精品无码专区在线观看| 日韩 欧美 国产 精品 综合| 爱做久久久久久| 久久久久国产精品免费免费不卡| 四虎影视永久在线精品| 无码高清专区| 亚洲第一色视频| 在线精品欧美日韩| 国产精品jizz在线观看软件| 色婷婷电影网| 成人免费网站久久久| 东京热高清无码精品| 亚洲美女视频一区| 在线国产毛片| 国产精品成人一区二区不卡| 亚洲人成网18禁| 日韩av手机在线| 国产精品成人一区二区不卡 |