1.在写sql语句时,引入别名。
如
<select id="findByQueryVo" parameterType="cn.edu.hdu.domain.QueryVo" resultMap="cn.edu.hdu.domain.User">
select id as userId,username as userName,sex as userSex,birthday as userBirthday from user where username like #{user.userName}
</select>
这种方法在执行效率高,是在执行sql语句时作出改变,但是缺点也存在,在开发时会降低开发效率。
2.在配置文件中添加<resultMap>标签
如
<resultMap id="userMap" type="cn.edu.hdu.domain.User">
<id column="id" property="userId"></id>
<result column="username" property="userName"></result>
<result column="sex" property="userSex"></result>
<result column="birthday" property="userBirthday"></result>
</resultMap>
id对应在之后引用resultMap时的名字,type表示要使用字段名对应的类
之后的id和result就是进行对应的过程
在之后的返回时只需要引入resultMap="id名"即可
如
<select id="fuzzyQuery" parameterType="string" resultMap="userMap">
与第一种方法相反,这种方法开发效率高,但是执行效率低。
总结
两种方法各有利弊,如果需要执行效率就选第一种,想开发快就第二种。