一、properties
目的
为了解决对数据库的配置的xml文件中的代码的硬编码,以及让代码更简洁
1.在src目录下创建一个properties文件(db.properties),里面与数据库配置的相关内容
driver=com.mysql.jdbc.Driver
url=jdbc:mysql://localhost:3306/db_school?characterEncoding=utf-8
username=root
password=123456
2.在SqlMapConfig.xml中引用
在configuration里添加一个properties标签来引用db.properties文件
<?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>
<!--引用db.properties文件 -->
<properties resource="db.properties"></properties>
<!-- 和spring整合后 environments配置将废除-->
<environments default="development">
<environment id="development">
<!-- 使用jdbc事务管理-->
<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>
<mappers>
<mapper resource="Student.xml"/>
<mapper resource="StudentMapper.xml"/>
</mappers>
</configuration>
二、自定义别名
目的
在 Mapper.xml 文件中,resultType 和 parameterType 需要指定,这个值往往都是全路径,不方便开发,所以我们可以对这些属性进行一些别名设置
1.在configuration里添加一个typeAliases标签来定义别名
注意typeAliases标签要放在<properties>和<environments>之间
<typeAliases>
<!-- 单个别名定义 -->
<typeAlias type="com.batis.domain.Student" alias="Student"></typeAlias>
<!-- 批量别名定义,扫描整个包下的类,别名为类名(首字母大写或小写都可以) -->
<package name="包名"></package>
</typeAliases>
之后修改一下映射文件就可以了
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="test">
<select id="findStudentById" parameterType="int" resultType="Student"><!--原来的路径com.batis.domain.Student-->
select * from student where id=#{id}
</select>
<select id="findStudentByLikeName" parameterType="String" resultType="Student"><!--原来的路径com.batis.domain.Student-->
SELECT * FROM student WHERE studentNAME LIKE "${value}%";
</select>
</mapper>