1. 程式人生 > >ibatis學習配置檔案基本概念

ibatis學習配置檔案基本概念

1、有下面配置檔案分析相關

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
 <!--environments決定載入哪種環境,包括資料來源和事務管理器。-->
<environments default="development">
<environment id="development">
<!-- transactionManager 事物管理器 -->
<transactionManager type="JDBC"/>
<dataSource type="POOLED">
<property name="driver" value="com.mysql.jdbc.Driver"/>
<property name="url" value="jdbc:mysql://127.0.0.1:3306/ecrm"/>
<property name="username" value="root"/>
<property name="password" value="root123"/>
</dataSource>
</environment>
</environments>
<mappers>
 <!--userMapper.xml裝載進來  同等於把“dao”的實現裝載進來 -->  
<mapper resource="entity/userMapper.xml" /></mappers>
</configuration>

1.environments決定載入哪種環境,包括資料來源和事務管理器

MyBatis 可以配置多種環境。這會幫助你將 SQL 對映應用於多種資料庫之中。例如,你也許為開發要設定不同的配置,測試和生產環境。或者你可能有多種生產級資料庫卻共享相同的模式,所以你會想對不同資料庫使用相同的 SQL 對映。這種用例是很多的。要記得一個很重要的問題:你可以配置多種環境,但你只能為每個 SqlSessionFactory例項選擇一。所以,如果你想連線兩個資料庫,你需要建立兩個 SqlSessionFactory 例項,每個資料庫對應一個。而如果是三個資料庫,你就需要三個例項,以此類推。

注意這裡的關鍵部分:
 預設的環境 ID(比如: default=”development”)。
 每個 environment 元素定義的環境 ID(比如: id=”development”)。
 事務管理器的配置(比如: type=”JDBC”)。
覆蓋配置類
除了用外掛來修改 MyBatis 核心行為之外,你也可以完全覆蓋配置類。簡單擴充套件它,
然後覆蓋其中的任意方法,之後傳遞它到 sqlSessionFactoryBuilder.build(myConfig)方法
的呼叫。這可能會嚴重影響 MyBatis 的行為,所以要小心。
 資料來源的配置(比如: type=”POOLED”)。預設的環境和環境 ID 是自我解釋的。你可以使用你喜歡的名稱來命名,只要確定預設
的要匹配其中之一。


2.transactionManager

在 MyBatis 中有兩種事務管理器型別(也就是 type=”[JDBC|MANAGED]”
 JDBC – 這個配置直接簡單使用了 JDBC 的提交和回滾設定。它依賴於從資料來源得到的連線來管理事務範圍。
 MANAGED – 這個配置幾乎沒做什麼。它從來不提交或回滾一個連線。而它會讓容器來管理事務的整個生命週期(比如 Spring 或 JEE 應用伺服器的上下文)。預設情況下它會關閉連線。然而一些容器並不希望這樣,因此如果你需要從連線中停止它,將 closeConnection 屬性設定為 false。例如:
<transactionManager type="MANAGED">
<property name="closeConnection" value="false"/>
</transactionManager>
3.dataSsource

dataSource 元素使用基本的 JDBC 資料來源介面來配置 JDBC 連線物件的資源。有三種資料來源

  a.UNPOOLED-– 這個資料來源的實現是每次被請求時簡單開啟和關閉連線。它有一點慢,這是對簡單應用程式的一個很好的選擇 driver-這是 JDBC驅動的 Java類的完全限定名(如果你的驅動包含的有,它也
不是資料來源類)。
url這是資料庫的JDBC URL地址。
username-登入資料庫的使用者名稱。
password-登入資料庫的密碼。
defaultTransactionIsolationLevel預設的連線事務隔離級別。作為可選項,你可以傳遞資料庫驅動的屬性。
driver.encoding=UTF8這 樣 就 會 傳 遞 以 值 “UTF8” 來 傳 遞 “encoding” 屬 性 , 它 是 通 過DriverManager.getConection(url,driverProperties)方法傳遞給資料庫驅動。


  b.POOLED – 這是 JDBC 連線物件的資料來源連線池的實現,用來避免建立新的連線例項時必要的初始連線和認證時間。這是一種當前 Web 應用程式用來快速響應請求很流行的方法。(略)  c.JNDI – 這個資料來源的實現是為了使用如 Spring 或應用伺服器這類的容器,容器可以集中或在外部配置資料來源,然後放置一個 JNDI 上下文的引用。這個資料來源配置只需要兩個屬性.
initial_context – 這 個 屬 性 用 來 從 初 始 上 下 文 中 尋 找 環 境 ( 也 就 是initialContext.lookup( initial——context))。這是個可選屬性,如果被忽略,那麼data_source 屬性將會直接以 initialContext 為背景再次尋找。
data_source – 這是引用資料來源例項位置的上下文的路徑。它會以由 initial_context查詢返回的環境為背景來查詢,如果 initial_context 沒有返回結果時,直接以初始上下文為環境來查詢。

相關推薦

ibatis學習配置檔案基本概念

1、有下面配置檔案分析相關 <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http

Git學習系列-Git基本概念

修改文件 initial config colspan 信息 stage ati 當前 目錄 本系列基於Pro Git介紹如何使用Git進行源代碼管理,以及後期如何使用Git進行項目管理。 系列初步目錄如下: 1. Git基本概念 2. Git分支操作 後續待定。 Git的

TCP/IP詳解學習筆記(1)-基本概念【轉】

網絡號 最大的 net 容易 學習 ip地址 其他 title 編寫 轉自:http://blog.csdn.net/goodboy1881/article/details/665041 為什麽會有TCP/IP協議 在世界上各地,各種各樣的電腦運行著各自不同的操作系統為大家

JS學習實踐小結—基本概念

新的 blog 梳理 nod javascrip ref href 想法 分享 不知不覺做前端已經五年多了,無論是從最初的jQuery還是現在火熱的Angular,Vue,React等前端框架,甚至是nodejs等服務端的興起,歸根到底,我始終覺著一切的核心還是

JavaScript高級程序設計學習(二)之基本概念

參數調用 name btn 記得 mco 多說 body 運維 rstp 任何語言的核心都必然會描述這門語言基本的工作原理。而描述的內容通常都要涉及這門語 言的語法、操作符、數據類型、內置功能等用於構建復雜解決方案的基本概念。如前所述, ECMA-262通過叫做 ECMA

無線通信學習筆記1---基本概念

設備 cap 比特流 獨立 擴大 多條 嵌入 解調 不同的 該篇將開始學習無線通信時遇到的一些基本概念羅列出來,避免混淆和忘記,算是為後續進階學習打基礎吧! 1、信道:信道可分為有線信道和無線信道兩大類。前者包括明線、對稱電纜、同軸電纜和光纜,後者包括地波傳播、短波電離層發

三大框架(ssh)學習——配置檔案詳解(一)

配置檔案詳解 指定web應用預設字符集 <constant name="struts.i18n.encoding" value="gbk" /> 此配置相當於: request.setCharacterEncoding(“gbk”); r

三大框架(ssh)學習——配置檔案詳解(二)

多配置檔案實現 專案經常需要多人協作開發,但是如果大家都是用同一個struts.xml檔案,會互相影響不利於開發的正常開展。這樣,我們可以通過<include>元素指定多個配置檔案。 可以在src下面建立多個struts配置檔案。然後再struts.xml中分別引入: str

flash讀取外部xml配置檔案基本方法

XML,xml是可擴充套件標記語言的縮寫,全稱為Extensible Markup Language,主要研究什麼 是資料和資料的儲存問題。簡單的說就是如果你想通過讀取外部配置來改變程式載入的功能,可以用到它。         1.一個簡單的XML示例

Nginx配置檔案基本介紹

NGINX和NGINX Plus與其他服務類似,因為它們使用以特定格式編寫的基於文字的配置檔案。預設情況下,該檔名為nginx.conf,而NGINX Plus則放在/ etc / nginx目錄中。 (對於開源NGINX,位置取決於用於安裝NGINX和作業系統的軟體包系統。它通常是/ usr /

學習OpenCV-Python——基本概念

Ubuntu下使用Anaconda安裝OpenCV3: conda install --channel https://conda.anaconda.org/menpo opencv3 影象的表示 OpenCV使用numpy的array作為影象的

Spring學習——配置檔案與註解(一)

bean標籤 一、屬性 name 給被管理的物件起個名字,獲得物件時根據該名稱獲得物件 可以重複,可以使用特殊字元 class 被管理物件的完整類名 id 與name屬性功能一樣 名稱不可重複,不能使用特殊字元 儘量使用name

到底什麼是“機器學習”?機器學習有哪些基本概念?(簡單易懂)

由現實世界引出“機器學習” 看到烏雲密佈,自己推測出要下雨 通過一個蘋果的表面和大小,來判斷這個蘋果是否好吃 我們通過經驗來進行判斷,這是因為我們積累了許多有用的經驗,通過對有用經驗的分析,就能對遇到的情況做出相應的對策。 計算機中,經驗就是“資料”,判斷模型就是“演算法”,機器學習

Neo4j學習(二):Cypher基本概念與表示

前言 從一堆眼花繚亂的事物中,清晰得把閃光的抓住。這就是思想的力量 接下來了解一些關於Cypher的概念 Cypher 1、概念:,Cypher是文字描述性查詢語言,就好像SQL一樣。Cypher語言比較接近人的認知。告訴Neo4j如何和處理匹配項,但不會告訴

作業系統學習筆記--作業系統基本概念

**綜述: 1.作業系統的概念、特徵、功能和提供的服務 2.作業系統的發展和分類 3.作業系統的執行環境 4.作業系統的體系結構** 1.作業系統的概念、特徵、功能和提供的服務 作業系統的概念 作業系統是控制和管

機器學習筆記1-基本概念

機器學習筆記1-基本概念 機器學習主要包括監督學習、非監督學習、半監督學習和強化學習等。實現方法包括模型、策略、演算法三個要素。 模型。在監督學習中,模型就是所要學習的條件概率分佈或決策函式。 策略。策略考慮的是按照什麼樣的準則學習或選擇最優的模型,即選擇損失函式。為了

深度學習與計算機視覺: 深度學習必知基本概念以及鏈式求導

深度學習與計算機視覺,開篇。 深度學習的幾個基本概念 反向傳播演算法中的鏈式求導法則。 關於反向傳播四個基本方程的推導過程,放在下一篇。 深度學習基礎 深度學習的幾度沉浮的歷史就不多說了,這裡梳理下深度學習的一些基本概念,做個總結記錄,內容多來源於網路。 神

springboot學習--配置檔案中的屬性

在配置檔案yml或者properties中,有時我們並不知道改配置怎麼,如spring.datasource下有多少屬性,那麼來看看怎麼找打配置屬性的欄位吧 預設屬性 需要到spring-boot-autoconfigure.jar包中檢視,如圖 關於Rabbit的配置是以sprin

Shell指令碼學習指南(一)——基本概念

LANG 未設定任何LC_XXX時的預設值 LC_ALL 用來覆蓋所有其他的LC_XXX變數的值 LC_COLLATE 排序規則 LC_CTYPE 字符集

Hibernate對映配置檔案基本詳細配置

■■■■■■■■■■■■■■■■■■■↓↓↓↓↓↓↓↓↓ Hibernate框架 —— 對映配置檔案基本詳細配置↓↓↓↓↓↓↓↓↓↓↓■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■<?xml ver