与其说是优化, 还不如说是让配置更简单.
一: 连接数据库的配置单独放到一个属性文件中
在 src 路径下新建一个 db.properties 属性文件, 并把数据库连接信息放入文件中, 然后在 conf.xml 文件中导入属性文件引用就可以了, 这样更好管理.
1. 新建 db.properties 文件
2. 写入属性信息
3. 在 conf.xml 中导入属性文件
4. 引用属性文件中的值
二: 为实体类定义别名, 简化 SQL 映射文件中的引用.
之前在 PersonMapper.xml 文件中来引用 Person 类型的时候是这样写的
resultType="com.mybatis.entities.Person" // 包名+;类名
这样的东西引用多了的时候, 一直这样写比较复杂. 复杂了肯定就会简单方法.
在 conf.xml 中, 利用这个标签(<typeAliases></typeAliases>) 来给实体类起别名. 然后在 PersonMapper.xml 文件中引用这个别名就可以了.
别名有两种方法:
1. 直接给类起别名
在 conf.xml 文件中的 <configuration> 标签下加入如下标签
<typeAliases><typeAlias type="com.mybatis.entities.Person" alias="_Person"/></typeAliases>
后面的 alias 就是一个别名, 我们在 PersonMapper.xml 文件中直接写 _Person 就可以使用 了.
<select id="getPersons" parameterType="int" resultType="_Person">SELECT id, name, age FROM person</select>
2. 给包起别名
在 conf.xml 文件中的 <configuration> 标签下加入如下标签
<typeAliases><!-- <typeAlias type="com.mybatis.entities.Person" alias="_Person"/> --><package name="com.mybatis.entities"/></typeAliases>
注意: 使用的是 package 子标签, name的值填写实体类所在的包名. 引用的时候直接用类名来引用就可以了.
<select id="getPerson" parameterType="int" resultType="Person">SELECT id, name, age FROM person WHERE id=#{id}</select>
我个人比较偏爱第二种方法(给包起别名).
本篇博文源代码点击 http://pan.baidu.com/s/1pJXiGVT 下载.
转载于:https://blog.51cto.com/wuqinglong/1723209