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>
|
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!







