欢迎光临
我们一直在努力

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>

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

赞(0) 打赏
主机商所有内容均来自网络,若无意侵犯到您的权利,请及时与联系 QQ 2232175042,将在48小时内删除相关内容!!主机测评网 » mybatis 项目配置文件实例详解

主机商评测网 找服务器 更专业 更方便 更快捷!

专注IDC行业资源共享发布,给大家带来方便快捷的资源查找平台!

联系我们

觉得文章有用就打赏一下文章作者

非常感谢你的打赏,我们将继续提供更多优质内容,让我们一起创建更加美好的网络世界!

支付宝扫一扫

微信扫一扫