不灭的焱

革命尚未成功,同志仍须努力下载JDK17

作者:php-note.com  发布于:2018-06-09 16:04  分类:Java基础  编辑

注意每个标签必须按照顺序写,不然就会提示错误:

The content of element type "configuration" must match "(properties?,settings?,...

顺序是

<?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 resource="db.properties">
    <!--properties中还可以配置一些属性名和属性值 -->
    <!-- <property name="jdbc.driver" value=""/> -->
</properties>

<!-- 全局配置参数,需要时再设置 -->

<settings>
	<!-- 打开延迟加载 的开关 -->
	<setting name="lazyLoadingEnabled" value="true"/>
	
	<!-- 将积极加载改为消极加载即按需要加载 -->
	<setting name="aggressiveLazyLoading" value="false"/>
	
	<!-- 开启二级缓存 -->
	<setting name="cacheEnabled" value="true"/>
</settings>

<!-- 别名定义 -->

<typeAliases>
	<!-- 针对单个别名定义
		type:类型的路径
		alias:别名
	-->

	<!-- <typeAlias type="cn.itcast.mybatis.po.User" alias="user"/> -->

	<!-- 批量别名定义
		指定包名,mybatis自动扫描包中的po类,自动定义别名,别名就是类名(首字母大写或小写都可以)
	-->

	<package name="cn.itcast.mybatis.po"/>
</typeAliases>

<!-- 和spring整合后 environments配置将废除-->

<environments default="development">
	<environment id="development">
		<!-- 使用jdbc事务管理,事务控制由mybatis-->
		<transactionManager type="JDBC" />
	
		<!-- 数据库连接池,由mybatis管理-->
		<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>

<!-- 加载 映射文件 -->

<mappers>
	<mapper resource="sqlmap/User.xml"/>

	<!--通过resource方法一次加载一个映射文件 -->
	<!-- <mapper resource="mapper/UserMapper.xml"/> -->

	<!-- 通过mapper接口加载单个 映射文件
		遵循一些规范:需要将mapper接口类名和mapper.xml映射文件名称保持一致,且在一个目录 中
		上边规范的前提是:使用的是mapper代理方法
	-->
	<!-- <mapper class="cn.itcast.mybatis.mapper.UserMapper"/> -->

	<!-- 批量加载mapper
		指定mapper接口的包名,mybatis自动扫描包下边所有mapper接口进行加载
		遵循一些规范:需要将mapper接口类名和mapper.xml映射文件名称保持一致,且在一个目录 中
		上边规范的前提是:使用的是mapper代理方法
	-->
	<package name="cn.itcast.mybatis.mapper"/>

</mappers>

 

 </configuration>

 

注意:

① xml中的标签顺序不能随便调换,否则会提示错误

② MyBatis使用自带的数据库连接池,不直接支持第三方连接池,不过网上有创建第三方连接池的方法

③ 以前别名(<typeAliases>)可以在sqlMap标签中创建,但现在需要在configuration标签中创建

④ 该配置文件可随意取名,在读取配置文件时指定该XML文件路径即可:

// 读取核心配置文件  
Reader reader = Resources.getResourceAsReader("config/Configuration.xml");  

// 创建SessionFactory实例  
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(reader);