本篇文章為大家展示了利用java如何實(shí)現(xiàn)一個(gè)DataSource功能,內(nèi)容簡(jiǎn)明扼要并且容易理解,絕對(duì)能使你眼前一亮,通過(guò)這篇文章的詳細(xì)介紹希望你能有所收獲。
創(chuàng)新互聯(lián)建站主要從事成都做網(wǎng)站、網(wǎng)站制作、成都外貿(mào)網(wǎng)站建設(shè)、網(wǎng)頁(yè)設(shè)計(jì)、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務(wù)。立足成都服務(wù)關(guān)嶺,10余年網(wǎng)站建設(shè)經(jīng)驗(yàn),價(jià)格優(yōu)惠、服務(wù)專業(yè),歡迎來(lái)電咨詢建站服務(wù):18980820575DataSource 對(duì)象所表示的物理數(shù)據(jù)源的連接。作為 DriverManager 工具的替代項(xiàng)。DataSource能提供最高性能的對(duì)數(shù)據(jù)庫(kù)的并發(fā)訪問(wèn),數(shù)據(jù)源技術(shù)是Java操作數(shù)據(jù)庫(kù)的一個(gè)很關(guān)鍵技術(shù),流行的持久化框架都離不開(kāi)數(shù)據(jù)源的應(yīng)用。
數(shù)據(jù)源提供了一種簡(jiǎn)單獲取數(shù)據(jù)庫(kù)連接的方式,并能在內(nèi)部通過(guò)一個(gè)池的機(jī)制來(lái)復(fù)用數(shù)據(jù)庫(kù)連接,這樣就大大減少了創(chuàng)建數(shù)據(jù)庫(kù)連接的次數(shù),提高了系統(tǒng)性能。下面,我們自己動(dòng)手實(shí)現(xiàn)個(gè)精簡(jiǎn)的數(shù)據(jù)源,代碼如下:
public class MyDataSource { private LinkedListconnectionPool = new LinkedList (); public MyDataSource() { for (int i = 0; i < 10; i++) { connectionPool.add(new MyConnection(creatConnection(),this)); } } private Connection creatConnection() { try { return DriverManager.getConnection( "jdbc:mysql://localhost:3306/test", "root", "root"); } catch (SQLException e) { // TODO Auto-generated catch block throw new ExceptionInInitializerError(); } } public Connection getConnection(){ System.out.println(connectionPool.size()); return connectionPool.removeFirst(); } public void freeConnection(Connection conn){ System.out.println("DataSource Close Connection"); connectionPool.addLast(conn); } }