MYBATIS03_全局配置文件environmentspropertiesmappertypeAliassettings标签详解

Posted 所得皆惊喜

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MYBATIS03_全局配置文件environmentspropertiesmappertypeAliassettings标签详解相关的知识,希望对你有一定的参考价值。

文章目录

在mybatis的项目中,我们发现了有一个mybatis­config.xml的配置文 件,这个配置文件是mybatis的全局配置文件,用来进行相关的全局配置,在任 何操作下都生效的配置

①. environments标签

  • ①. 一图详解environments标签的内容
  • ②. 事务管理器(transactionManager)类型有两种
  1. JDBC:这个配置就是直接使用了JDBC 的提交和回滚设置,它依赖于从数据源得到的连接来管理事务作用域
  2. MANAGED:这个配置几乎没做什么。它从来不提交或回滚一个连接,而是让容器来管理事务的整个生命周期(比如 JEE 应用服务器的上下文)。 默认情况下它会关闭连接,然而一些容器并不希望这样,因此需要将closeConnection属性设置为false来阻止它默认的关闭行为
  • ③. 数据源(dataSource)类型有三种
  1. POOLED:这种数据源的实现利用“池”的概念将JDBC连接对象组织起来
  2. UNPOOLED:这个数据源的实现只是每次被请求时打开和关闭连接
  3. 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定义别名

别名映射的类型
_bytebyte
_longlong
_shortshort
_intint
_integerint
_doubledouble
_floatfloat
_booleanboolean
stringString
byteByte
longLong
shortShort
intInteger
integerInteger
doubleDouble
floatFloat
booleanBoolean
dateDate
decimalBigDecimal
bigdecimalBigDecimal

  • ②. 配置typeAliases,为com.xiaozhi.entity.User定义别名为user。如果省略alias,mybatis会默认将类名首字母小写后的名称作为别名
  • ③. 当pojo类过多时,还可以通过自动扫描包的形式自定义别名,具体如下
  1. mybatis会将所有的com.xiaozhi.entity下的类以首字母变小写为它的包名
  2. 比如com.xiaozhi.User那么它的别名是user
   <typeAliases>
      <package name="com.xiaozhi.entity">
   </typeAliases>
  • ④. 设置了别名后,使用别名是不区分大小写的

⑤. settings设置

<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:配置解析

MyBatis核心配置解析

MyBatis学习总结_03_优化MyBatis配置文件中的配置

mybatis入门_配置文件的配置

03.MyBatis的核心配置文件SqlMapConfig.xml

MyBatis全局配置文件