與其說是優化, 還不如說是讓配置更簡單.
一: 連接數據庫的配置單獨放到一個屬性文件中
在 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 下載.