Mybatis的全局配置文件

MyBatis 的配置文件包含了影响 MyBatis 行为甚深的设置(settings)和属性(properties)信息。

文件结构:

configuration 配置

properties 属性  :  一般是连接数据库的    

                     可外部配置且可动态替换的,既可以在典型的 Java 属性文件中配置,亦可通过 properties 元素的子元素来配置

settings 设置:     可以改变MyBatis运行时的行为

<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>

 

typeAliases 类型命名:简化*Mapper文件中全类名的书写,可以指定别名,也可以直接写类名

<typeAliases><!-- 可以简写增删改的返回值类型 -->
   <package name="com.thekingqj.bean"/>
</typeAliases>

 

typeHandlers 类型处理器

objectFactory 对象工厂

plugins 插件

environments 环境 :配置环境的,MyBatis可以配置多种环境,不同的环境对应不同的配置,可以通过environments中的default属性指定对应的环境,来快速的切换。

environment 环境变量

 transactionManager 事务管理器

dataSource 数据源

<environments default="oracle">
		<environment id="mysql">
			<transactionManager type="JDBC" />
			<dataSource type="POOLED">
				<property name="driver" value="${jdbc.driver}" />
				<property name="url" value="${jdbc.url}" />
				<property name="username" value="${jdbc.username}" />
				<property name="password" value="${jdbc.password}" />
			</dataSource>
		</environment>
		 <environment id="oracle">
			<transactionManager type="JDBC"/>	
			<dataSource type="POOLED">
				<property name="driver" value="${orcl.driver}" />
				<property name="url" value="${orcl.url}" />
				<property name="username" value="${orcl.username}" />
				<property name="password" value="${orcl.password}" />
			</dataSource>
		</environment> 
		
	</environments>

transactionManager

 type:  JDBC | MANAGED | 自定义

JDBC:使用了 JDBC 的提交和回滚设置,依赖于从数据源得到的连接来管理事务范   围。 JdbcTransactionFactory

MANAGED:不提交或回滚一个连接、让容器来管理事务的整个生命周期(比如 JEE   应用服务器的上下文)。 ManagedTransactionFactory

自定义:实现TransactionFactory接口,type=全类名/别名

dataSource

type:  UNPOOLED | POOLED | JNDI | 自定义

UNPOOLED:不使用连接池, UnpooledDataSourceFactory

POOLED:使用连接池, PooledDataSourceFactory

JNDI: 在EJB 或应用服务器这类容器中查找指定的数据源

自定义:实现DataSourceFactory接口,定义数据源的获取方式。

实际开发中我们使用Spring管理数据源,并进行事务控制的配置来覆盖上述配置

databaseIdProvider 数据库厂商标识

mappers 映射器:在MyBatis初始化的时候,告诉MyBatis需要引入那些Mapper映射文件

      引入Mapper文件的方式:  resource:引入类路径下的文件、url(不常用):引入网络路径或磁盘文件、

Class:引入Mapper接口

有SQL映射文件 , 要求Mapper接口与 SQL映射文件同名同位置.

没有SQL映射文件 , 使用注解在接口的方法上写SQL语句.

 注意:这几种引入方式跟Mapper映射文件本身并没有任何的关系,只是放置的位置不一样而已

<!-- 别名处理,这样在Mapper配置文件中返回值类型可以直接写类名了 -->
	<mappers>
	
	   <!-- 可以直接映射配置文件的名称 -->
		 <!-- <mapper resource="UserMapper.xml" />  -->
		
		<!--批量注册,这种方式要求SQL映射文件名必须和接口名相同并且在同一目录下  -->
		<mapper class="com.thekingqj.dao.UserMapper"/>
		<mapper class="com.thekingqj.dao.DeptMapper"/>
	</mappers>
发布了126 篇原创文章 · 获赞 6 · 访问量 3750

猜你喜欢

转载自blog.csdn.net/qq_40244391/article/details/102864058