前言
接上章学习,我们配置build了之后,成功解决了资源导出失败的问题,这章我们学习的是配置优化
一、原来的配置
1.数据库配置(属性优化)
原先写死的数据库核心配置
<!--核心配置文件-->
<configuration>
<environments default="development">
<environment id="development">
<transactionManager type="JDBC"/>
<dataSource type="POOLED">
<property name="driver" value="xxxxxxxx"/>
<property name="url" value="xxxxxxxxxxxxxxxxxxxxxx"/>
<property name="username" value="xxxxxx"/>
<property name="password" value="xxxxxx"/>
</dataSource>
</environment>
</environments>
<!--每个mapper.xml都需要在Mybatis核心配置文件中注册-->
<mappers>
<mapper resource="com/shan/dao/UserMapper.xml"/>
</mappers>
</configuration>
2.别名优化
<select id="getUserById" resultType="com.shan.pojo.User" parameterType="int">
select * from mybatis.user where id=#{id}
</select>
3.配置映射器优化
(1).使用对应资源进行注册(推荐)
<!--每个mapper.xml都需要在Mybatis核心配置文件中注册-->
<mappers>
<mapper resource="com/shan/dao/UserMapper.xml"/>
</mappers>
(2).使用类注册
<mappers>
<mapper class="com.shan.dao.UserMapper"/>
</mappers>
(3).使用包注册
<mappers>
<package name="com.shan.dao"/>
</mappers>
二、需要的配置文件以及配置优化后的效果
1.数据库配置优化(配置属性优化)
(1)db.properties数据库配置文件
driver = com.mysql.jdbc.Driver
url = jdbc:mysql://localhost:3306/xxxxxxxxxxxxx
username = xxxxx
password = xxxxxxxxxx
(2)数据库配置优化
<!--引入外部配置文件,优先使用外部配置的-->
<properties resource="db.properties">
<property name="username" value="xxxx"/>
<!--这里密码错误,外部密码正确可以正常使用;外部密码错误,这里密码正确无法使用-->
<property name="password" value="xxxxxxxxx"/>
</properties>
<environments default="development">
<environment id="development">
<transactionManager type="JDBC"/>
<dataSource type="POOLED">
<property name="driver" value="${driver}"/>
<property name="url" value="${url}"/>
<property name="username" value="${username}"/>
<property name="password" value="${password}"/>
</dataSource>
</environment>
</environments>
2.别名优化
<!--可以给实体类起别名,扫描包的默认为这个类的首字母小写的类名-->
<typeAliases>
<package name="com.shan.pojo"/>
</typeAliases>
效果:
<!--默认为这个类的首字母小写的类名,当然用User也是可行的,但是我们要遵守规范-->
<select id="getUserList" resultType="user">
select * from mybatis.user
</select>
3.映射器优化
(1).资源对应注册
简单方便好整理
(2).类注册
注意事项:
- 接口和它Mapper的配置文件必须同名
- 接口和它Mapper的配置文件必须在同一个包下
(3).包注册
注意事项: - 接口和它Mapper的配置文件必须同名
- 接口和它Mapper的配置文件必须在同一个包下