01_MyBatis_全局配置文件

1、引入dtd约束

联网状态下: http://mybatis.org/dtd/mybatis-3-config.dtd

2、properties_引入外部配置

mybatis可以使用propertie来引入外部propertie配置文件的内容

resource == >> 引入类路径下的资源

url == >> 引入网络路径或者磁盘路径下的资源

<properties resource="dbconfig.properties"></properties>
<dataSource>
	<properties name="driver" value="${}"/>
    ..............
</dataSource>

3、settings_运行时行为设置

Mybatis3--配置 https://mybatis.org/mybatis-3/zh/configuration.html#settings

举例:【是否开启驼峰命名规则】

是否开启驼峰命名自动映射,即从经典数据库列名 A_COLUMN 映射到经典 Java 属性名 aColumn。

<!--
	setting:用来设置每一个设置项
	name:设置项名
	value:设置项取值
-->
<settings>
	<setting name="mapUnderscoreToCamelCase" value="true"/>
</settings>

4、typeAliases_别名

【别名处理器】

类型别名可为 Java 类型设置一个缩写名字

引用【resultType="emp"】

【别名不区分大小写】

<typeAliases>
    <!--1、
		typeAlias:为某个Java类型起别名
		type:指定要起别名的全类名,默认别名是类名小写
		alias:指定别名
	-->
	<typeAlias type="全类名" alias="指定别名"/>
    
    <!--2、
		package:为某个包下的所有类批量取别名
		name:指定包名【起一个默认别名小写,当前包以及后代包】
	-->
  	<package name="包名"/>
    
    <!--3、
		【批量取别名】包扫描情况下,使用注解方式 @Alias 为某个类指定别名
	-->
</typeAliases>

5、typeHandlers_类型

typeHandlers_【类型处理器】

自定义类型处理器

6、plugins_插件简介

  • Executor 【执行器】(update, query, flushStatements, commit, rollback, getTransaction, close, isClosed)
  • ParameterHandler【参数处理器】 (getParameterObject, setParameters)
  • ResultSetHandler【结果集处理器】 (handleResultSets, handleOutputParameters)
  • StatementHandler【SQL语句处理器】 (prepare, parameterize, batch, update, query)

7、environments_环境配置

数据库数据源

<environments default="development">
    
    <!--
		environments:可以配置成适应多种环境 ,default:指定使用某种环境,达到快速切换环境
		environment:配置一个具体的环境信息,↓↓↓↓↓这两个参数必须存在
		transactionManager【事务管理器】,
			type:事务管理器类型,type="[JDBC|MANAGED]"
				自定义事务管理器:实现TransactionFactory 接口,type指定为全限定类名
		dataSource【数据源】 
			type:数据源类型,type="[UNPOOLED|POOLED|JNDI]"
			自定义数据源:实现 DataSourceFactory 接口,type指定为全类名
		id="development":表示当前环境的唯一标识
	-->
    <environment id="development">
        <transactionManager type=""></transactionManager>
        <dataSource type=""></dataSource>
    </environment>
    
  <environment id="development">
    <transactionManager type="JDBC">
      <property name="..." value="..."/>
    </transactionManager>
    <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>

MyBatis 可以配置成适应多种环境

每个SqlSessionFactory实例只能选择一种环境

一个environment 对应一个 SqlSessionFactory实例

8、databaseIdProvider_数据库厂商标识

<!--
	databaseIdProvider:支持多数据库厂商
	type="DB_VENDOR":得到数据库厂商标识【驱动getDatabaseProductName()】,mybatis就能根据数据库厂商标识来执行不同的sql
-->
<databaseIdProvider type="DB_VENDOR">
    <!--
		为不同的数据库厂商起别名,在xxxmapper.xml里面,sql语句databaseId="mysql"表示在mysql环境下才执行sql
	-->
  	<property name="MYSQL" value="mysql"/>
    ......
    
</databaseIdProvider>

9、mappers_映射器

<!--
	mappers:将sql映射 注册到全局配置中
-->
<mappers>
    <!--
		mapper:注册一个sql映射
			resource:引用类路径下的sql映射文件
			url:引用网络路径或者磁盘路径下的sql映射文件
			class:引用接口
	-->
	<mapper resource=""/>
    <!--批量注册,类名和xml要在同一路径下-->
    <package name="包名"/>
</mappers>
posted @ 2020-10-24 12:53  san只松鼠  阅读(68)  评论(0)    收藏  举报