mybatis 項目設定檔執行個體詳解,mybatis設定檔

來源:互聯網
上載者:User

mybatis 項目設定檔執行個體詳解,mybatis設定檔

mybatis項目配置

首先這事一個簡單的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> <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支援多個環境,可以任意配置

比如:

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

就會有兩個環境,environments中的defalut標籤選擇哪一個,預設就是哪一個

transactionManager

mybatis支援兩種類型的交易管理員,jdbc和managed(託管)

jdbc:應用程式管理資料庫串連的生命週期

managed:由應用伺服器負責管理資料庫串連的生命週期(一般商務服務器才有此功能,如JBOSS WebLogic)

dataSource

type:用來配置資料來源,類型有:UNPOOLED、POOLED、JNDI

UNPOOLED:沒有串連池,每次資料庫操作,mybatis都會建立一個新的串連,用完後,關閉:適合小並發項目

POOLED:有串連池

JNDI:使用應用伺服器配置JNDI資料來源擷取資料庫連接

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

給類的完整限定名取別名,方便使用

比如:

<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

外掛程式 比如:

分頁外掛程式

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

感謝閱讀,希望能協助到大家,謝謝大家對本站的支援!

相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.