Mybatis學習筆記-08 連線池
阿新 • • 發佈:2021-01-07
技術標籤:Java開發-Mybatis
我們知道,JDBC操作資料庫,建立Connection的開銷是十分大的,而Mybatis實際上是對JDBC的封裝,還是避免不了建立連結帶來的大開銷,不過Mybatis內部其實還是集成了自帶的連線池。對於頻繁建立導致的高消耗,我們的處理辦法就是引入連線池機制,所謂連線池,就是我們預先建立一些連線,在使用時只需要從池子中取,而不需要自行建立,用完後歸還池子即可。
我們將使用阿里開發的Druid連線池,各主流連線池的時間消耗如下(測試量為一百萬次的申請歸還操作):
具體步驟:
1. 匯入依賴
<dependency> <groupId>com.alibaba</groupId> <artifactId>druid</artifactId> <version>1.1.16</version> </dependency>
2. 建立Druid連線池的工廠
package com.zt.Utils; import com.alibaba.druid.pool.DruidDataSource; import org.apache.ibatis.datasource.pooled.PooledDataSourceFactory; public class MyDruidDataSourceFactory extends PooledDataSourceFactory { public MyDruidDataSourceFactory(){ this.dataSource = new DruidDataSource(); } }
3. 修改主配置檔案,替換Mybatis預設使用的連結池(由於連線池改變,連線池類中屬性名(driver和url)也變了,需要相應做修改)
<dataSource type="com.zt.Utils.MyDruidDataSourceFactory"> <property name="driverClass" value="${jdbc.driver}"/> <property name="jdbcUrl" value="${jdbc.url}"/> <property name="username" value="${jdbc.username}"/> <property name="password" value="${jdbc.password}"/> </dataSource>