配置文件优化
执行流程:读取配置流程—>sqlSessionFactory—>sqlSession(连接、读取sql并执行相应操作、关闭)
a)配置优化:通过中文参考指南的说明可知—>Properties的多项配置可通过导入外置properties文件替换(利用properties标签的resource属性),例如:
//------------核心配置文件------------//
<configuration>
<!-- environments指mybatis可以配置多个环境,
default指向默认的环境每个SqlSessionFactory对应一个环境environment -->
//关键1
<properties resource="db.properties" ></properties>
<environments default="development">
<environment id="development">
<!-- JDBC 这个配置直接使用JDBC的提交和回滚功能,它依赖与从数据源获得链接来管理事务的生命周期。
MANAGED-这个配置基本什么都不做,它从不提交或者回滚一个连接的事务,
而是让容器(例如Spring或者J2EE应用服务器)来管理事务的生命周期 -->
<transactionManager type="JDBC"/>
<dataSource type="POOLED">
<!-- UNPOOLED这个数据源实现只是在每次请求的时候简单的打开和关闭一个连接。
POOLED 这个数据源缓存JDBC连接对象用于避免每次都要连接和生成连接实例而需要的验证时间-->
//关键2
<property name="driver" value="${driver}"/>
<property name="url" value="${url}"/>
<property name="username" value="${username}"/>
<property name="password" value="${password}"/>
</dataSource>
</environment>
<mappers>
<!-- 定义映射SQL语句的文件 -->
<mapper resource="cn/aaa/entity/User.mapper.xml"/>
</mappers>
</configuration>
//------------properties配置文件------------//
driver=com.mysql.jdbc.Driver
url=jdbc:mysql://localhost:3306/aaaa
username=root
password=aaaa
b)别名优化——
//------------核心配置文件------------//
//*在configuration标签中引用
//*此处的(1)与(2)是两种方式,请只选择一种使用或者使用不同路径尝试两种方式
<!-- 指定别名,简化mapper引用 -->
<typeAliases>
<typeAlias alias="User" type="cn.aaa.entity.User"/>------(1)
<!-- 为某个包下的所有类命名“别名”,默认别名是对应的类名,即cn.aaa.entity.User可直接用User表示 -->
<package name="cn.aaa.entity" />-------------------------(2)
</typeAliases>
//------------映射文件------------//
//*resultType引用由"cn.aaa.entity.User"--->"User"
<!--查询语句 -->
<select id="selectAll" resultType="User">
select * from users
</select>