configuration根元素 主要有环境信息的配置(environments),行为信息的设置(settings)和属性信息的配置(properties)等
configuration的配置顺序必须按如下配置
<configuration>
<properties></properties><!– 属性的配置 -->
<settings></settings> ><!– 行为的配置 -->
<typeAliases></typeAliases> ><!– Bean别名的配置 -->
<environments></ environments > ><!– 环境的配置 -->
<mappers></mappers> ><!– 映射文件的配置 -->
</configuration>
一:属性的配置 properties 主要是引入配置文件如数据库的连接信息
<!-- 引用jdbc配置文件 -->
<properties resource="jdbc.properties" />
二:行为的配置 settings
一般要配如下这些(其他属性详解https://blog.csdn.net/qq_41456545/article/details/84788830)
<settings>
<setting name="cacheEnabled" value="true"/>
<setting name="useColumnLabel" value="true"/>
<setting name="useGeneratedKeys" value="true"/>
<setting name="mapUnderscoreToCamelCase" value="true"/>
</settings>
三:Bean别名的配置
typeAliases即类型别名,是为 Java 类型设置一个短的名字。它只和 XML 配置有关,存在的意义仅在于用来减少类完全限定名的冗余。推荐使用
<typeAliases>
<typeAlias type="ht.vo.EmpVo" alias="empVo"></typeAlias>
</typeAliases>
在 XML 配置文件中alias和resultType要相同
<select id="listAll" resultType="empVo">
<!--格式化sql语句的标签 -->
<![CDATA[
select * from Emp
]]>
</select>
四:environments 环境的配置
<environments default="development">
<environment id="development">
<transactionManager type="JDBC"></transactionManager>
<dataSource type="POOLED">
<property name="driver" value="com.mysql.jdbc.Driver"/>
<property name="url" value="jdbc:mysql://localhost:3306/mybatis?useUnicode=true&characterEncoding=utf-8"/>
<property name="username" value="root"/>
<property name="password" value="123456"/>
</dataSource>
</environment>
</environments>
transactionManager :事务管理器 type=”[JDBC|MANAGED]
JDBC:使用了JDBC的提交和回滚设置,它依赖于从数据源得到连接来管理事务作用域
MANAGED:这个配置几乎没做什么。它从来不提交或回滚一个连接,而是让容器来管理事务的整个生命周期(比如 JEE 应用服务器的上下文)。 默认情况下它会关闭连接,然而一些容器并不希望这样,因此需要将 closeConnection 属性设置为 false 来阻止它默认的关闭行为
environments中的数据源(dataSource)dataSource 元素使用标准的 JDBC 数据源接口来配置 JDBC 连接对象的资源。 一般设置为POOLED数据源– 这种数据源的实现利用“池”的概念将 JDBC 连接对象组织起来,避免了创建新的连接实例时所必需的初始化和认证时间。 这是一种使得并发 Web 应用快速响应请求的流行处理方式
映射器(mappers),既然 MyBatis 的行为已经由上述元素配置完了,我们现在就要定义 SQL 映射语句了。但是首先我们需要告诉 MyBatis 到哪里去找到这些语句。推荐使用classpath的方式(需要配置n个mapper)或包配置的方式(只需要配置一个或多个package)
配置一个xml文件
<mappers>
<mapper resource="com/ht/mapper/EmpDAO.xml"/>
</mappers>
配置一个包下的多个文件
<mappers>
<package name="com/ht/mapper"/>
</mappers>