MyBatis配置注意事项
mybatis的全局配置文件中的标签是有先后顺序的,按序分别是:properties、settings、typeAlliases、typeHandlers、objectFactory、plugins、environments、mappers。
MyBatis主要配置详解
<?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="jdbc.properties"></properties>
<!--设置-->
<settings>
<!--是否开启全局延迟加载-->
<setting name="lazyLoadingEnabled" value="true"/>
<!--是否开启积极加载(开启懒加载需要将此视为false)-->
<setting name="aggressiveLazyLoading" value="false"/>
</settings>
<!--给实体全限定类取别名-->
<typeAliases>
<!--给单个实体类起别名-->
<!--<typeAlias type="com.yc.pojo.Member" alias="member"></typeAlias>-->
<!--通过包扫描的方式,给所有实体类自动起别名,别名就是类型(不区分大小写)-->
<package name="com.yc.pojo"></package>
</typeAliases>
<!-- 运行环境 -->
<environments default="develop">
<environment id="develop">
<!--当前事务交给jdbc管理-->
<!--JDBC:直接使用jdbc的提交和回滚设置,它依赖于从数据源得到的链接来管理事务作用域-->
<!--MANAGED:这个配置几乎没有作用,不提交或回滚一个事务,而是让容器来管理事务的整个生命周期,默认情况下它会关闭连接,然而一些容器不希望这样,因此需要配合closeConnection的属性设置为false来阻止它默认的关闭行为-->
<transactionManager type="JDBC"/>
<!--是否使用连接池-->
<!--POOLED:使用连接池-->
<!--UNPOOLED:不使用连接池,每次都打开和关闭链接-->
<!--JNDI:这个数据源的实现是为了能如EJB或应用服务器这类容器使用,容器可以集中在外部配置数据源,然后配置一个JNDI上下文的引用-->
<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.passowrd}"/>
</dataSource>
</environment>
</environments>
<!--该标签的作用是用于加载映射-->
<mappers>
<!--使用相对路径引用资源-->
<mapper resource="memberMapper.xml"></mapper>
<mapper resource="orderMapper.xml"></mapper>
<!--使用完全限定资源定位符-->
<!--<mapper url=""></mapper>-->
<!--使用映射器接口实现的完全限定类名-->
<!--<mapper class=""></mapper>-->
<!--以包的方式引用-->
<!--<package name="com"></package>-->
</mappers>
</configuration>
外部配置文件写法
jdbc.driver:com.mysql.jdbc.Driver
jdbc.url:jdbc:mysql://host/databases?characterEncoding=utf-8
jdbc.username:username
jdbc.passowrd:password