Mybatis中 XML配置詳解
更新時間:2017年01月03日 08:55:47 作者:星云博客園
這篇文章主要介紹了Mybatis中 XML配置詳解的相關(guān)資料,非常不錯,具有參考借鑒價值,需要的朋友可以參考下
Mybatis常用帶有禁用緩存的XML配置
<?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>
<!-- Settings 必須放到最上面 -->
<settings>
<!-- 該配置影響的所有映射器中配置的緩存的全局開關(guān)。默認true -->
<setting name="cacheEnabled" value="false" />
<!-- MyBatis 利用本地緩存機制(Local Cache)防止循環(huán)引用(circular references)和加速重復嵌套查詢。
默認值為 SESSION,這種情況下會緩存一個會話中執(zhí)行的所有查詢。
若設(shè)置值為 STATEMENT,本地會話僅用在語句執(zhí)行上,對相同 SqlSession 的不同調(diào)用將不會共享數(shù)據(jù)。
-->
<setting name="localCacheScope" value="SESSION" />
<!-- 當沒有為參數(shù)提供特定的 JDBC 類型時,為空值指定 JDBC 類型。 某些驅(qū)動需要指定列的 JDBC 類型,多數(shù)情況直接用一般類型即可,比如 NULL、VARCHAR 或 OTHER。 -->
<setting name="jdbcTypeForNull" value="OTHER" />
</settings>
<!-- MyBatis 連接MySql數(shù)據(jù)庫 -->
<environments default="development">
<environment id="development">
<!-- 使用jdbc事務(wù)管理 -->
<transactionManager type="JDBC" />
<!-- 配置數(shù)據(jù)庫連接池 -->
<dataSource type="POOLED">
<property name="driver" value="com.mysql.jdbc.Driver" />
<property name="url" value="jdbc:mysql://127.0.0.1:3306/yourdb" />
<property name="username" value="root" />
<property name="password" value="toor" />
</dataSource>
</environment>
</environments>
<!-- 所有數(shù)據(jù)庫語句映射文件必須在這里注冊 -->
<mappers>
<mapper resource="dao/mappers/ManagerMapper.xml" />
</mappers>
</configuration>
MyBatis 完整配置如下:
<?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>
<!-- Settings 必須放到最上面 -->
<settings>
<!-- 該配置影響的所有映射器中配置的緩存的全局開關(guān)。默認true -->
<setting name="cacheEnabled" value="true" />
<!-- 延遲加載的全局開關(guān)。當開啟時,所有關(guān)聯(lián)對象都會延遲加載。 特定關(guān)聯(lián)關(guān)系中可通過設(shè)置fetchType屬性來覆蓋該項的開關(guān)狀態(tài)。默認false -->
<setting name="lazyLoadingEnabled" value="true" />
<!-- 是否允許單一語句返回多結(jié)果集(需要兼容驅(qū)動)。 默認true -->
<setting name="multipleResultSetsEnabled" value="true" />
<!-- 使用列標簽代替列名。不同的驅(qū)動在這方面會有不同的表現(xiàn), 具體可參考相關(guān)驅(qū)動文檔或通過測試這兩種不同的模式來觀察所用驅(qū)動的結(jié)果。默認true -->
<setting name="useColumnLabel" value="true" />
<!-- 允許 JDBC 支持自動生成主鍵,需要驅(qū)動兼容。 如果設(shè)置為 true 則這個設(shè)置強制使用自動生成主鍵,盡管一些驅(qū)動不能兼容但仍可正常工作(比如 Derby)。
默認false -->
<setting name="useGeneratedKeys" value="false" />
<!-- 指定 MyBatis 應如何自動映射列到字段或?qū)傩浴?NONE 表示取消自動映射;PARTIAL 只會自動映射沒有定義嵌套結(jié)果集映射的結(jié)果集。
FULL 會自動映射任意復雜的結(jié)果集(無論是否嵌套)。
默認 PARTIAL -->
<setting name="autoMappingBehavior" value="PARTIAL" />
<!--
Specify the behavior when detects an unknown column (or unknown property type) of automatic mapping target.
NONE: Do nothing
WARNING: Output warning log (The log level of 'org.apache.ibatis.session.AutoMappingUnknownColumnBehavior' must be set to WARN)
FAILING: Fail mapping (Throw SqlSessionException)
Default:NONE
-->
<setting name="autoMappingUnknownColumnBehavior" value="WARNING" />
<!-- 配置默認的執(zhí)行器。SIMPLE 就是普通的執(zhí)行器;REUSE 執(zhí)行器會重用預處理語句(prepared statements); BATCH 執(zhí)行器將重用語句并執(zhí)行批量更新。默認SIMPLE -->
<setting name="defaultExecutorType" value="SIMPLE" />
<!-- 設(shè)置超時時間,它決定驅(qū)動等待數(shù)據(jù)庫響應的秒數(shù)。Not Set (null) -->
<setting name="defaultStatementTimeout" value="25" />
<!-- 為驅(qū)動的結(jié)果集獲取數(shù)量(fetchSize)設(shè)置一個提示值。此參數(shù)只可以在查詢設(shè)置中被覆蓋。 -->
<setting name="defaultFetchSize" value="100" />
<!-- 允許在嵌套語句中使用分頁(RowBounds)。 If allow, set the false. -->
<setting name="safeRowBoundsEnabled" value="false" />
<!-- 是否開啟自動駝峰命名規(guī)則(camel case)映射,即從經(jīng)典數(shù)據(jù)庫列名 A_COLUMN 到經(jīng)典 Java 屬性名 aColumn 的類似映射。 -->
<setting name="mapUnderscoreToCamelCase" value="false" />
<!-- MyBatis 利用本地緩存機制(Local Cache)防止循環(huán)引用(circular references)和加速重復嵌套查詢。
默認值為 SESSION,這種情況下會緩存一個會話中執(zhí)行的所有查詢。
若設(shè)置值為 STATEMENT,本地會話僅用在語句執(zhí)行上,對相同 SqlSession 的不同調(diào)用將不會共享數(shù)據(jù)。
-->
<setting name="localCacheScope" value="SESSION" />
<!-- 當沒有為參數(shù)提供特定的 JDBC 類型時,為空值指定 JDBC 類型。 某些驅(qū)動需要指定列的 JDBC 類型,多數(shù)情況直接用一般類型即可,比如 NULL、VARCHAR 或 OTHER。 -->
<setting name="jdbcTypeForNull" value="OTHER" />
<!-- 指定哪個對象的方法觸發(fā)一次延遲加載。 -->
<setting name="lazyLoadTriggerMethods" value="equals,clone,hashCode,toString" />
</settings>
<!-- MyBatis 連接MySql數(shù)據(jù)庫 -->
<environments default="development">
<environment id="development">
<!-- 使用jdbc事務(wù)管理 -->
<transactionManager type="JDBC" />
<!-- 配置數(shù)據(jù)庫連接池 -->
<dataSource type="POOLED">
<property name="driver" value="com.mysql.jdbc.Driver" />
<property name="url" value="jdbc:mysql://127.0.0.1:3306/yourdb" />
<property name="username" value="root" />
<property name="password" value="toor" />
</dataSource>
</environment>
</environments>
<!-- 所有數(shù)據(jù)庫語句映射文件必須在這里注冊 -->
<mappers>
<mapper resource="dao/mappers/ManagerMapper.xml" />
</mappers>
</configuration>
Mybatis 官網(wǎng)文檔:http://www.mybatis.org/mybatis-3/zh/index.html
以上所述是小編給大家介紹的Mybatis中 XML配置詳解,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持
相關(guān)文章
Java8新特性之類型注解_動力節(jié)點Java學院整理
這篇文章主要介紹了Java8新特性之類型注解的相關(guān)資料,需要的朋友可以參考下2017-06-06
解決MyEclipse中Maven設(shè)置jdk版本jdk1.8報錯問題
今天安裝了jdk1.8、tomcat8、和maven3.5.2,弄好后在myeclipse新建了一個maven項目,項目默認是jdk1.5,改成jdk1.8后項目報錯2018-10-10
idea的spring boot項目實現(xiàn)更改端口號操作
這篇文章主要介紹了idea的spring boot項目實現(xiàn)更改端口號操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-09-09

