mybatis 項(xiàng)目配置文件實(shí)例詳解
mybatis項(xiàng)目配置
首先這事一個(gè)簡(jiǎn)單的mybatis項(xiàng)目配置文件:
<?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 default="development"> <environment id="development"> <transactionManager type="JDBC"/> <dataSource type="POOLED"> <property name="driver" value="${driver}"/> <property name="url" value="${url}"/> <property name="username" value="${username}"/> <property name="password" value="${password}"/> </dataSource> </environment> </environments> <mappers> <mapper resource="org/mybatis/example/BlogMapper.xml"/> </mappers> </configuration>
environment
mybatis支持多個(gè)環(huán)境,可以任意配置
比如:
<environments default="development"> <environment id="development"> <transactionManager type="JDBC"/> <dataSource type="POOLED"> <property name="driver" value="${driver}"/> <property name="url" value="${url}"/> <property name="username" value="${username}"/> <property name="password" value="${password}"/> </dataSource> </environment> <environment id="test"> <transactionManager type="JDBC"/> <dataSource type="POOLED"> <property name="driver" value="${driver}"/> <property name="url" value="${url}"/> <property name="username" value="${username}"/> <property name="password" value="${password}"/> </dataSource> </environment> </environments>
就會(huì)有兩個(gè)環(huán)境,environments中的defalut標(biāo)簽選擇哪一個(gè),默認(rèn)就是哪一個(gè)
transactionManager
mybatis支持兩種類(lèi)型的事務(wù)管理器,jdbc和managed(托管)
jdbc:應(yīng)用程序管理數(shù)據(jù)庫(kù)連接的生命周期
managed:由應(yīng)用服務(wù)器負(fù)責(zé)管理數(shù)據(jù)庫(kù)連接的生命周期(一般商業(yè)服務(wù)器才有此功能,如JBOSS WebLogic)
dataSource
type:用來(lái)配置數(shù)據(jù)源,類(lèi)型有:UNPOOLED、POOLED、JNDI
UNPOOLED:沒(méi)有連接池,每次數(shù)據(jù)庫(kù)操作,mybatis都會(huì)創(chuàng)建一個(gè)新的連接,用完后,關(guān)閉:適合小并發(fā)項(xiàng)目
POOLED:有連接池
JNDI:使用應(yīng)用服務(wù)器配置JNDI數(shù)據(jù)源獲取數(shù)據(jù)庫(kù)連接
properties
配置屬性
比如:
<properties resource="org/mybatis/example/config.properties"> <property name="username" value="dev_user"/> <property name="password" value="F2Fa3!33TYyg"/> </properties> <dataSource type="POOLED"> <property name="driver" value="${driver}"/> <property name="url" value="${url}"/> <property name="username" value="${username}"/> <property name="password" value="${password}"/> </dataSource>
typeAliases
給類(lèi)的完整限定名取別名,方便使用
比如:
<typeAliases> <typeAlias alias="Author" type="domain.blog.Author"/> <typeAlias alias="Blog" type="domain.blog.Blog"/> <typeAlias alias="Comment" type="domain.blog.Comment"/> <typeAlias alias="Post" type="domain.blog.Post"/> <typeAlias alias="Section" type="domain.blog.Section"/> <typeAlias alias="Tag" type="domain.blog.Tag"/> </typeAliases> <!-- 最常用--> <typeAliases> <package name="domain.blog"/> </typeAliases>
mappers
引入映射文件
<!-- Using classpath relative resources --> <mappers> <mapper resource="org/mybatis/builder/AuthorMapper.xml"/> <mapper resource="org/mybatis/builder/BlogMapper.xml"/> <mapper resource="org/mybatis/builder/PostMapper.xml"/> </mappers> <!-- Using url fully qualified paths --> <mappers> <mapper url="file:///var/mappers/AuthorMapper.xml"/> <mapper url="file:///var/mappers/BlogMapper.xml"/> <mapper url="file:///var/mappers/PostMapper.xml"/> </mappers> <!-- Using mapper interface classes --> <mappers> <mapper class="org.mybatis.builder.AuthorMapper"/> <mapper class="org.mybatis.builder.BlogMapper"/> <mapper class="org.mybatis.builder.PostMapper"/> </mappers> <!-- Register all interfaces in a package as mappers --> <mappers> <package name="org.mybatis.builder"/> </mappers>
settings
An example of the settings element fully configured is as follows:
<settings> <setting name="cacheEnabled" value="true"/> <setting name="lazyLoadingEnabled" value="true"/> <setting name="multipleResultSetsEnabled" value="true"/> <setting name="useColumnLabel" value="true"/> <setting name="useGeneratedKeys" value="false"/> <setting name="autoMappingBehavior" value="PARTIAL"/> <setting name="autoMappingUnknownColumnBehavior" value="WARNING"/> <setting name="defaultExecutorType" value="SIMPLE"/> <setting name="defaultStatementTimeout" value="25"/> <setting name="defaultFetchSize" value="100"/> <setting name="safeRowBoundsEnabled" value="false"/> <setting name="mapUnderscoreToCamelCase" value="false"/> <setting name="localCacheScope" value="SESSION"/> <setting name="jdbcTypeForNull" value="OTHER"/> <setting name="lazyLoadTriggerMethods" value="equals,clone,hashCode,toString"/> </settings>
plugins
插件 比如:
分頁(yè)插件
<plugins> <plugin interceptor="com.github.pagehelper.PageHelper"> <property name="dialect" value="mysql"/> <property name="offsetAsPageNum" value="true"/> <property name="rowBoundsWithCount" value="true"/> <property name="pageSizeZero" value="true"/> </plugin> </plugins>
感謝閱讀,希望能幫助到大家,謝謝大家對(duì)本站的支持!
相關(guān)文章
在PostgreSQL的基礎(chǔ)上創(chuàng)建一個(gè)MongoDB的副本的教程
這篇文章主要介紹了在PostgreSQL的基礎(chǔ)上創(chuàng)建一個(gè)MongoDB的副本的教程,使在使用NoSQL的同時(shí)又能用到PostgreSQL中的東西,需要的朋友可以參考下2015-04-04SunlightDB 2017新型區(qū)塊鏈數(shù)據(jù)庫(kù)
這篇文章主要為大家詳細(xì)介紹了SunlightDB 2017新型區(qū)塊鏈數(shù)據(jù)庫(kù)的相關(guān)資料,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-01-01利用SQL腳本導(dǎo)入數(shù)據(jù)到不同數(shù)據(jù)庫(kù)避免重復(fù)的3種方法
這篇文章主要給大家介紹了關(guān)于利用SQL腳本導(dǎo)入數(shù)據(jù)到不同數(shù)據(jù)庫(kù)避免重復(fù)的3種方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧。2017-10-10ACCESS轉(zhuǎn)化成SQL2000需要注意的幾個(gè)問(wèn)題小結(jié)
ACCESS轉(zhuǎn)化成SQL2000需要注意的幾個(gè)問(wèn)題小結(jié)...2007-06-06jdbc 數(shù)據(jù)庫(kù)的連接(sqlserver oracle)
sql Server 和oracle 數(shù)據(jù)庫(kù)的連接,供大家參考!2009-08-08SQL關(guān)系模型的知識(shí)梳理總結(jié)
這篇文章主要為大家介紹了SQL關(guān)系模型,文中對(duì)SQL關(guān)系模型的知識(shí)作了詳細(xì)的梳理總結(jié),有需要的朋友可以借鑒參考下希望能夠有所幫助2021-10-10