4. MyBatis几个可以优化的地方

    与其说是优化, 还不如说是让配置更简单.


一: 连接数据库的配置单独放到一个属性文件中

    在 src 路径下新建一个 db.properties 属性文件, 并把数据库连接信息放入文件中, 然后在 conf.xml 文件中导入属性文件引用就可以了, 这样更好管理.

    1. 新建 db.properties 文件

    2. 写入属性信息

wKiom1ZvuJvyza1TAACHDXbmMfc702.png

    

    3. 在 conf.xml 中导入属性文件

wKioL1ZvuP7RvYW2AABtbqofi8c386.png

    

    4. 引用属性文件中的值

wKioL1ZvuWmw72H0AADD_u0GLKk131.png

    

二: 为实体类定义别名, 简化 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 下载.


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章