[發明專利]一種Mybatis數據源與連接池的交互方法在審
| 申請號: | 201710054913.5 | 申請日: | 2017-01-24 |
| 公開(公告)號: | CN106844678A | 公開(公告)日: | 2017-06-13 |
| 發明(設計)人: | 宋健;劉華興;郭清軒 | 申請(專利權)人: | 山東浪潮商用系統有限公司 |
| 主分類號: | G06F17/30 | 分類號: | G06F17/30 |
| 代理公司: | 濟南信達專利事務所有限公司37100 | 代理人: | 韓月娥 |
| 地址: | 250100 山東省濟南市*** | 國省代碼: | 山東;37 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 mybatis 數據源 連接 交互 方法 | ||
技術領域
本發明涉及計算機技術領域,具體的說是一種Mybatis數據源與連接池的交互方法。
背景技術
MyBatis是支持普通SQL查詢,存儲過程和高級映射的優秀持久層框架。MyBatis消除了幾乎所有的JDBC代碼和參數的手工設置以及結果集的檢索。MyBatis使用簡單的XML或注解用于配置和原始映射,將接口和Java的POJOs(Plain Old Java Objects,普通的Java對象)映射成數據庫中的記錄。
每個MyBatis應用程序主要都是使用SqlSessionFactory實例的,一個SqlSessionFactory實例可以通過SqlSessionFactoryBuilder獲得。
SqlSessionFactoryBuilder可以從一個xml配置文件或者一個預定義的配置類的實例獲得。
由于創建一個Java.sql.Connection對象的過程,在底層相當于和數據庫建立的通信連接,在建立通信連接的過程需要大量時間,而且往往建立連接后(即創建Java.sql.Connection對象后),只是執行一個簡單的SQL語句,然后就要拋棄掉,這是一個非常大的資源浪費,創建一個Java.sql.Connection對象的代價非常巨大。
發明內容
本發明針對目前技術發展的需求和不足之處,提供一種Mybatis數據源與連接池的交互方法。
本發明所述一種Mybatis數據源與連接池的交互方法,解決上述技術問題采用的技術方案如下:所述一種Mybatis數據源與連接池的交互方法,在內存中創建一容器記為連接池用于存放Connection對象,當需要操作數據庫時,則能直接從內存中取出Connection對象,極大節省了創建Connection對象的資源消耗;
主要包括如下步驟:(1)初始化驅動:判斷driver驅動是否已經加載到內存中,若未加載,則會動態地加載driver類,并實例化一個Driver對象,使用DriverManager.registerDriver()方法將其注冊到內存中,以供后續使用;
(2)創建Connection對象:使用DriverManager.getConnection()方法創建連接;
(3)配置Connection對象:設置是否自動提交autoCommit和隔離級別isolationLevel;
(4)返回Connection對象:每調用一次getConnection()方法,都會通過DriverManager.getConnection()返回新的java.sql.Connection實例。
優選的,MyBatis把數據源分為三種:UnpooledDataSource、PooledDataSource以及使用JNDI實現的數據源JNDI;PooledDataSource、UnpooledDataSource都實現了Java.sql.DataSource接口,并且PooledDataSource持有一個UnpooledDataSource的引用,當PooledDataSource需要創建java.sql.Connection實例對象時,通過UnpooledDataSource來創建。
優選的,在MyBatis初始化的過程中創建MyBatis數據源DataSource對象:在mybatis的XML配置文件中,使用<dataSource>元素來配置數據源。
優選的,MyBatis在初始化時解析此XML配置文件,根據<dataSource>的type屬性創建相應的類型的數據源DataSource:
type=”POOLED”:MyBatis創建PooledDataSource實例
type=”UNPOOLED”:MyBatis創建UnpooledDataSource實例
type=”JNDI”:MyBatis從JNDI服務上查找DataSource實例。
優選的,當創建SqlSession對象并執行SQL語句時,MyBatis調用dataSource對象來創建java.sql.Connection對象。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于山東浪潮商用系統有限公司,未經山東浪潮商用系統有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201710054913.5/2.html,轉載請聲明來源鉆瓜專利網。





