mybatis中的連線池以及事務控制
阿新 • • 發佈:2022-03-17
1、連線池:
減少我們獲取連線所消耗的時間。
2、mybatis中的連線池
mybatis連線池提供了三種方式的配置
配置的位置:
主配置檔案SqlMapConfig.xml中的datasource標籤,type屬性就是表示採用何種連線池方式。
type屬性的取值:
POOLED 採用傳統的javax.sql.DataSource規範中的連線池 mybatis中有針對規範的實現
UNPOOLED 採用傳統的獲取連線的方式,雖然也實現javax.sql.DataSource,但是並沒有使用池的使用
JNDI 採用伺服器提供的JNDI技術實現,來獲取DataSource物件,不同的伺服器所能拿到的DataSource是不一樣的
注意:如果不是web或者maven的war工程,是不能使用的
我們實際開發中,使用的是Tomcat伺服器,採用的連線池就是dbcp連線池
POOLED所展示的內容
UNPOOLED所展示內容
都歸還到池裡,與預期,預期是UNPOOLED只會closeConnction不會return
unpooled獲取連線
pooled獲取連線
3.mybatis中的事務提交和回滾
前面的展示內容也可以看到,自動提交時false的,若要預設自動提交可以:factory.openSession(true); 獲取的SqlSession就會將autocommit設定為true