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)和加速重復(fù)嵌套查詢。 默認值為 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 應(yīng)如何自動映射列到字段或?qū)傩浴?NONE 表示取消自動映射;PARTIAL 只會自動映射沒有定義嵌套結(jié)果集映射的結(jié)果集。 FULL 會自動映射任意復(fù)雜的結(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í)行器會重用預(yù)處理語句(prepared statements); BATCH 執(zhí)行器將重用語句并執(zhí)行批量更新。默認SIMPLE --> <setting name="defaultExecutorType" value="SIMPLE" /> <!-- 設(shè)置超時時間,它決定驅(qū)動等待數(shù)據(jù)庫響應(yīng)的秒數(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)和加速重復(fù)嵌套查詢。 默認值為 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配置詳解,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持
相關(guān)文章
使用AOP攔截Controller獲取@PathVariable注解傳入的參數(shù)
這篇文章主要介紹了使用AOP攔截Controller獲取@PathVariable注解傳入的參數(shù),具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-08-08如何用注解的方式實現(xiàn)Mybatis插入數(shù)據(jù)時返回自增的主鍵Id
這篇文章主要介紹了如何用注解的方式實現(xiàn)Mybatis插入數(shù)據(jù)時返回自增的主鍵Id,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-07-07Java 中Timer和TimerTask 定時器和定時任務(wù)使用的例子
這篇文章主要介紹了Java 中Timer和TimerTask 定時器和定時任務(wù)使用的例子,非常具有實用價值,需要的朋友可以參考下2017-05-05MybatisPlus更新為null的字段及自定義sql注入
mybatis-plus在執(zhí)行更新操作,當更新字段為空字符串或者null的則不會執(zhí)行更新,本文主要介紹了MybatisPlus更新為null的字段及自定義sql注入,感興趣的可以了解一下2024-05-05