MyBatis學習筆記2 配置環境詳解

2022-09-02 16:24:17 字數 2775 閱讀 8901

typealiases標籤定義了實體類的別名,寫了之後可以在配置檔案例如標籤中的屬性就可以不用寫實體的具體路徑直接用別名就可以了,可以有兩種方法:

這種方法適用性不強,如果有很多實體則需要寫很多這樣的別名,不方便。

這種方法定義的別名就是model包下對應的實體類名稱,只用定義一次就可以。

從上面看,我們知道下面可以配置多個元素節點,而每個節點我們可以配置兩個東西,乙個是事務管理器配置,另乙個是資料來源配置。

l  預設的環境id(比如:default="development")

l  每個 environment 元素定義的環境 id(比如:id=」development」),每個環境的模式可以不一樣,development : 開發模式    work : 工作模式  test :測試模式。

那麼如何理解environments呢?

假如我們系統的開發環境和工作環境所用的資料庫不一樣(這是肯定的), 那麼可以設定兩個environment, 兩個id分別對應開發環境(development)和工作環境(work),那麼通過配置environments的default屬性就能選擇對應的environment了, 例如,我將environments的deault屬性的值配置為development, 那麼就會選擇development的environment。

事務管理器有兩種:type="[ jdbc | managed ]":

jdbc:這個配置就是直接使用了jdbc 的提交和回滾設定,它依賴於從資料來源得到的連線來管理事務範圍。

managed :這個配置從來都不提交和回滾乙個連線,而是讓容器來管理事務的整個生命週期(比如jee應用服務的上下文)。預設情況下他會關閉連線,然而一些容器並不希望這樣,因此需要將closeconnection屬性設定為false來阻止它預設的關閉行為。

如果你正在使用 spring + mybatis,則沒有必要配置事務管理器, 因為 spring 模組會使用自帶的管理器來覆蓋前面的配置。

datasource元素使用標準的jdbc資料來源介面來配置jdbc連線物件的資源。

三種內建的資料來源型別:type=[ unpooled | pooled | jndi ]

unpooled這個資料來源的實現是每次被請求時開啟和關閉連線。速度會有一些慢,適用於簡單的應用程式。

這種型別的資料來源只需要配置下面的6種屬性(最後一項為可選):

driver

jdbc驅動名

urljdbc url位址

username

資料庫使用者名稱

password

資料庫密碼

defaulttransactionisolationlevel

預設的鏈結事務隔離級別

driver.encoding

utf-8(可選項)

pooled這種型別的資料來源除了需要配置unpooled中的基礎配置外,還可以配置下面的內容:

poolmaximumactiveconnections

在任意時間正在使用鏈結的數量

poolmaximumidleconnections

任意時間存在的空閒連線數

poolmaximumcheckouttime

在被強制返回之前,連線池中被檢查的時間,預設值為20000毫秒

pooltimetowait

給連線池乙個列印日誌狀態機會的低層次設定,還有重新嘗試獲取連線,這些情況往往會需要很長時間。為了避免連線池沒有配置時靜默失敗。預設值20000毫秒

poolpingquery

傳送到資料的偵測查詢,用來驗證連線是否正常工作,並且準備接受請求。預設為「no ping query set」,這會引起許多資料庫驅動連線由乙個錯誤資訊而導致失敗

poolpingenabled

這是開啟或禁用偵測查詢,如果開啟,必須用乙個合法的sql語句,設定poolpingquery屬性,預設值為false

poolpingconnectionsnotusedfor

用來配置poolpingquery多長時間被呼叫一次。可以被設定匹配標準的資料庫鏈結超時時間,來避免不必要的偵測。預設值0(也就是所有鏈結每一時刻都被偵測到,但僅僅當poolpingenabled為true時適用)。

在真實使用的時候往往只需要i配置driver,url,username,password就可以了,其他的都可以取預設值。

jndi這個資料來源是為了使用如spring或應用伺服器這類的容器,容器可以集中或在外部配置資料來源,然後設定jndi上下文的引用。

這個資料來源只需要配置兩個屬性:

initial_context

用來從初始上下文中尋找環境(也就是initialcontext.lookup(initial——context)),這是個可選屬性,如果被忽略,那麼data_source屬性將直接以initialcontext為背景再次尋找

data_source

這是引用資料來源例項位置的上下文的路徑,它會以initial_context查詢返回的環境為背景來查詢,如果initial_context沒有返回結果時,直接以初始上下文為環境來查詢。

詳解

insert into t_student values(null,#,#)

update t_student set name=#,age=# where id=#

delete from t_student where id=#

select * from t_student where id=#

mybatis 基本配置2

sqlmapconfig.xml中配置的內容和順序如下 properties 屬性 settings 全域性配置引數 typealiases 型別別名 typehandlers 型別處理器 objectfactory 物件工廠 plugins 外掛程式 environments 環境集合屬性物件 e...

mybatis學習筆記 二 配置檔案

自己只為記錄,方便以後查閱 配置資訊的順序不能顛倒!配置資訊的順序不能顛倒!配置資訊的順序不能顛倒!一 properties 有三種配置方式 1 property子元素。2 properties配置檔案 3 程式引數傳遞 properties配置檔案 這種方法用的是最多的,方便在多個地方重複使用,也...

Mybatis3學習筆記 2 補充

1.首先看看這個例子中所用到的mybatis的介面和類 resources類 org.apache.ibatis.io.resources 顧名思義就是資源,用來讀取資源檔案,讀取mybatis的主配置檔案 sqlsession介面 用於持久化操作,乙個sqlsession對應著一次資料庫會話,一次...