SqlMapConfig.xml中配置参数有先后顺序,必须按照下面SqlMapConfig.xml中的先后顺序配置,否则可能会出错
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 resource="db.properties">
<!--
properties还可一配置一些propertie
properties中的键值对
-->
<!--
mybatis加载属性的顺序:
1:在<properties>中定义的<property>属性首先被读取
2:然后读取<properties>中定义的resource或url指向的文件属性
3:最后读取parameterType传递的属性
如果有重名的属性,会被后来加载的属性覆盖
-->
<!-- <property name="" value=""/> -->
</properties>
<!-- 全局参数配置 (可以开启二级缓存,延迟加载等)-->
<!-- <settings></settings> -->
<!--
别名定义 :
用来简化xml配置中的
输入参数(parameterType)与输出参数(resultType)
-->
<typeAliases>
<!--
给User类起个别名
type : User类的完全限定名
alias: User类的别名
-->
<!-- <typeAlias type="Bean.User" alias="user"/> -->
<!--
批量别名定义:
指定包名,自动扫描pojo类,自动定义别名
别名就是类名(首字母大写小写都可以)
<package> : 扫描包可以定义多个
-->
<package name="Bean"/>
<!-- <package name="main.Bean"/> -->
</typeAliases>
<!--
类型处理器(用来处理java与JDBC类型的转换),
一般情况下mybatis内置的类型处理器就够用了
不需要在自定义类型处理器
-->
<!-- <typeHandlers></typeHandlers> -->
<!-- 对象工厂,(一般情况下不用) -->
<!-- <objectFactory type=""></objectFactory> -->
<!-- 插件,(一般情况下不用) -->
<!-- <plugins></plugins> -->
<!-- 和spring整合后environments配置将移除 -->
<environments default="development">
<environment id="development">
<!-- 使用JDBC事物管理,
事物控制由mybaties控制(和spring整合后就不是了) -->
<transactionManager type="JDBC" />
<!-- 数据库连接池,由mybaties控制(和spring整合后就不是了) -->
<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>
<!-- 通过 resource 一次加载一个文件-->
<mapper resource="sqlmap/UserMapper.xml"/>
<!--
批量加载Mapper(推荐使用)
指定Mapper的包名,mybatis自动扫描包下面所有Mapper接口进行加载
遵循一些规范:需要将Mapper接口类名和Mapper.XML映射文件名保持一致,
并且在目录(包)中
上边规范的方法的前提是 : 使用的是Mapper代理
-->
<!-- <package name="sqlmap"/> -->
<!--
通过Mapper接口加载映射文件
遵循一些规范:需要将Mapper接口类名和Mapper.XML映射文件名保持一致,
并且在目录(包)中
上边规范的方法的前提是 : 使用的是Mapper代理
-->
<!-- <mapper class="sqlmap.UserMapper" /> -->
</mappers>
</configuration>
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>
<!-- 和spring整合后environments配置将移除 -->
<environments default="development">
<environment id="development">
<!-- 使用JDBC事物管理,
事物控制由mybaties控制(和spring整合后就不是了) -->
<transactionManager type="JDBC" />
<!-- 数据库连接池,由mybaties控制(和spring整合后就不是了) -->
<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>
<!-- 通过 resource 一次加载一个文件-->
<mapper resource="sqlmap/UserMapper.xml"/>
</mappers>
</configuration>