MyBatis:mybatis-config.xml配置文件详解

mybatis-config.xml

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

</configuration>

configuration(配置)

properties(属性)

可以通过properties属性引入外部的配置信息

  1. 新增db.propertis配置文件
driver=com.mysql.jdbc.Driver
url=jdbc:mysql://localhost:3306/test
username=root
password=123
  1. 引入外部配置文件db.properties
    在properties属性中也可以配置属性,但外部配置文件的优先级更高。
    <!--mybatis可以使用properties来引入外部的properties配置文件的内容:
        resource:引入类路径下的资源
        url:引入网络路径或者磁盘路径下的资源
    -->
    <properties resource="db.properties">
        <!--在properties属性中也可以配置属性,但外部配置文件的优先级更高。-->
        <property name="username" value="root"/>
        <property name="password" value="123"/>
    </properties>

settings(设置)

	<!-- 由于全局配置中:jdbcTypeForNull=OTHER,oracle不支持,以下两种方式:
		1、#{address,jdbcType=NULL};
		2、jdbcTypeForNull=NULL
	 -->
	<settings>
		<!-- 开启驼峰命名 -->
		<setting name="mapUnderscoreToCamelCase" value="true"/>
		<setting name="jdbcTypeForNull" value="NULL"/>
	</settings>

typeAliases(类型别名)

    <!-- 设置别名 -->
    <typeAliases>
        <!--默认别名为类名小写,也可以使用alias进行任意别名设置-->
        <!--<typeAlias type="com.kw.pojo.Employee" alias="emp"/> -->
        <!--批量使用别名,默认别名为类名小写 -->
        <!--别名使用时不区分大小写-->
        <package name="com.kw.pojo"/>
        <!--在批量起别名的情况下,可以使用@Alias注解为某个类型指定新的别名 -->
    </typeAliases>

typeHandlers(类型处理器)

objectFactory(对象工厂)

plugins(插件)

environments(环境配置)

	<!-- 和spring整合后将取消 -->
 	<environments default="dev_mysql">
 		<environment id="dev_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="dev_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>

environment(环境变量)

transactionManager(事务管理器)

dataSource(数据源)

databaseIdProvider(数据库厂商标识)

<!-- 5、databaseIdProvider:支持多数据库厂商的;
		   type="DB_VENDOR":VendorDatabaseIdProvider
		         作用就是得到数据库厂商的标识(驱动getDatabaseProductName()),mybatis就能根据数据库厂商标识来执行不同的sql;
		   MySQL,Oracle,SQL Server,xxxx
	 -->
	<databaseIdProvider type="DB_VENDOR">
		<!-- 为不同的数据库厂商起别名 -->
		<property name="MySQL" value="mysql"/>
		<property name="Oracle" value="oracle"/>
		<property name="SQL Server" value="sqlserver"/>
	</databaseIdProvider>

mappers(映射器)

    <mappers>
        <!-- 注册配置文件方式 -->
        <mapper resource="com/kw/mapper/EmployeeMapper.xml"/>
        <!--注册接口方式:
            此方法需要接口和xml配置文件进行绑定,并且映射文件名必须和接口同名,并且放在与接口同一目录下。-->
        <mapper class="com.kw.mapper.EmployeeMapper"/>
        <!--批量注册接口方式(常用)-->
        <package name="com.kw.mapper"/>
    </mappers>

posted @ 2021-12-14 17:25  amo丶k  阅读(891)  评论(0编辑  收藏  举报