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>
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