“基础:配置文件SqlMapConfig.xml”的版本间差异

来自Wikioe
跳到导航 跳到搜索
无编辑摘要
第4行: 第4行:


'''SqlMapConfig.xml'''中配置的内容和顺序如下:
'''SqlMapConfig.xml'''中配置的内容和顺序如下:
<syntaxhighlight lang="xml">
<syntaxhighlight lang="xml" line="1">
<?xml version="1.0" encoding="UTF-8" ?>
<?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">
<!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd">
第10行: 第10行:
<properties /> <!-- 属性 -->
<properties /> <!-- 属性 -->
<settings /> <!-- 设置 -->
<settings /> <!-- 设置 -->
    <typeAliases /> <!-- 类型命名 -->
<typeAliases /> <!-- 类型命名 -->
    <typeHandlers /> <!-- 类型处理器 -->
<typeHandlers /> <!-- 类型处理器 -->
    <objectFactory /> <!-- 对象工厂 -->
<objectFactory /> <!-- 对象工厂 -->
    <plugins /> <!-- 插件 -->
<plugins /> <!-- 插件 -->
    <environments> <!-- 配置环境 -->
<environments> <!-- 配置环境 -->
        <environment> <!-- 环境变量 -->
<environment> <!-- 环境变量 -->
            <transactionManager /> <!-- 事务管理器 -->
<transactionManager /> <!-- 事务管理器 -->
            <dataSource /> <!-- 数据源 -->
<dataSource /> <!-- 数据源 -->
        </environment>
</environment>
    </environments>
</environments>
    <databaseIdProvider /> <!-- 数据库厂商标识 -->
<databaseIdProvider /> <!-- 数据库厂商标识 -->
    <mappers /> <!-- 映射器 -->
<mappers /> <!-- 映射器 -->
</configuration>
</configuration>



2020年10月10日 (六) 02:44的版本


关于

SqlMapConfig.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>			<!-- 配置 -->
	<properties /> 			<!-- 属性 -->
	<settings /> 			<!-- 设置 -->
	<typeAliases /> 		<!-- 类型命名 -->
	<typeHandlers /> 		<!-- 类型处理器 -->
	<objectFactory /> 		<!-- 对象工厂 -->
	<plugins /> 			<!-- 插件 -->
	<environments> 			<!-- 配置环境 -->
		<environment> 			<!-- 环境变量 -->
			<transactionManager /> 		<!-- 事务管理器 -->
			<dataSource /> 			<!-- 数据源 -->
		</environment>
	</environments>
	<databaseIdProvider /> 		<!-- 数据库厂商标识 -->
	<mappers /> 			<!-- 映射器 -->
</configuration>

properties

SqlMapConfig.xml可以引用java属性文件中的配置信息。
将数据库连接等参数单独配置在配置文件(如:db.properties)中,就可以在SqlMapConfig.xml中加载db.properties的属性值:

  1. SqlMapConfig.xml中不再需要对数据库连接参数硬编码;
  2. 其他xml也可以引用该配置文件,便于参数的同一管理;


在classpath下定义db.properties文件:

jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/mybatis
jdbc.username=root
jdbc.password=mysql

SqlMapConfig.xml:

	<properties resource="db.properties"/>
	
	...
	<environments default="development">
		<environment id="development">
			<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>
	</environments>


MyBatis 将按照下面的属性加载顺序:【???】

  1. 在 properties 元素体内定义的属性首先被读取。
  2. 然后会读取 properties 元素中 resource 或 url 加载的属性,它会覆盖已读取的同名属性。
  3. 最后读取 parameterType 传递的属性,它会覆盖已读取的同名属性。

因此,通过parameterType传递的属性具有最高优先级,resource或 url 加载的属性次之,最低优先级的是 properties 元素体内定义的属性。

settings

typeAliases

typeHandlers

mappers