优选主流主机商
任何主机均需规范使用

MyBatis项目配置文件实例详解:从入门到精通的实战指南

mybatis项目配置

首先这事一个简单的mybatis项目配置文件:

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 <? 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支持多个环境,可以任意配置

比如:

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 < 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

配置属性

比如:

1 2 3 4 5 6 7 8 9 10 11 < 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

给类的完整限定名取别名,方便使用

比如:

1 2 3 4 5 6 7 8 9 10 11 12 < 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

引入映射文件

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 <!-- 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:

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 < 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

插件 比如:

分页插件

1 2 3 4 5 6 7 8 < 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 >

感谢阅读,希望能帮助到大家。

未经允许不得转载:搬瓦工中文网 » MyBatis项目配置文件实例详解:从入门到精通的实战指南