MYBATIS03_全局配置文件environmentspropertiesmappertypeAliassettings标签详解
Posted 所得皆惊喜
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MYBATIS03_全局配置文件environmentspropertiesmappertypeAliassettings标签详解相关的知识,希望对你有一定的参考价值。
文章目录
在mybatis的项目中,我们发现了有一个mybatisconfig.xml的配置文 件,这个配置文件是mybatis的全局配置文件,用来进行相关的全局配置,在任 何操作下都生效的配置
①. environments标签
- ①. 一图详解environments标签的内容
- ②. 事务管理器(transactionManager)类型有两种
- JDBC:这个配置就是直接使用了JDBC 的提交和回滚设置,它依赖于从数据源得到的连接来管理事务作用域
- MANAGED:这个配置几乎没做什么。它从来不提交或回滚一个连接,而是让容器来管理事务的整个生命周期(比如 JEE 应用服务器的上下文)。 默认情况下它会关闭连接,然而一些容器并不希望这样,因此需要将closeConnection属性设置为false来阻止它默认的关闭行为
- ③. 数据源(dataSource)类型有三种
- POOLED:这种数据源的实现利用“池”的概念将JDBC连接对象组织起来
- UNPOOLED:这个数据源的实现只是每次被请求时打开和关闭连接
- POOLED:这种数据源的实现利用“池”的概念将JDBC连接对象组织起来
②. 属性(properties)
- ①. 实际开发中,习惯将数据源的配置信息单独抽取成一个properties文件,该标签可以加载额外配置的properties文件
- ②. 在配置文件中引入及通过EL表达式来使用
③. mapper加载映射文件
- ①. 使用相对于类路径的资源引用,例如:(重点掌握)
<mapper resource="org/mybatis/builder/AuthorMapper.xml"/>
- ②. 使用映射器接口实现类的完全限定类名,例如:
<mapper class="org.mybatis.builder.AuthorMapper"/>
- ③. 将包内的映射器接口实现全部注册为映射器,例如:
<package name="org.mybatis.builder"/>
- ④. 使用完全限定资源定位符(URL),例如:很少使用
<mapper url="file:///var/mappers/AuthorMapper.xml"/>
④. typeAlias定义别名
别名 | 映射的类型 |
---|---|
_byte | byte |
_long | long |
_short | short |
_int | int |
_integer | int |
_double | double |
_float | float |
_boolean | boolean |
string | String |
byte | Byte |
long | Long |
short | Short |
int | Integer |
integer | Integer |
double | Double |
float | Float |
boolean | Boolean |
date | Date |
decimal | BigDecimal |
bigdecimal | BigDecimal |
- ②. 配置typeAliases,为com.xiaozhi.entity.User定义别名为user。如果省略alias,mybatis会默认将类名首字母小写后的名称作为别名
- ③. 当pojo类过多时,还可以通过自动扫描包的形式自定义别名,具体如下
- mybatis会将所有的com.xiaozhi.entity下的类以首字母变小写为它的包名
- 比如com.xiaozhi.User那么它的别名是user
<typeAliases>
<package name="com.xiaozhi.entity">
</typeAliases>
- ④. 设置了别名后,使用别名是不区分大小写的
⑤. settings设置
- ①. 这是MyBatis中极为重要的调整设置,它们会改变MyBatis的运行时行为。 下表描述了设置中各项设置的含义、默认值等
- ②. 一个完整设置,这个settings需要放在properties标签的下面
<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>
以上是关于MYBATIS03_全局配置文件environmentspropertiesmappertypeAliassettings标签详解的主要内容,如果未能解决你的问题,请参考以下文章
MyBatis学习总结_03_优化MyBatis配置文件中的配置