ResultType
类型别名是你的好帮手。使用它们,你就可以不用输入类的全限定名了。比如:
<!-- mybatis-config.xml 中 -->
<!--别名-->
<typeAliases>
<typeAlias type="com.xxx.po.UserInfo" alias="UserInfo"/>
</typeAliases>
<!-- SQL 映射 XML 中 -->
<mapper namespace="org.mybatis.example.BlogMapper">
<select id="selectUser" resultType="UserInfo">
select * from user_info where user_id = #{id}
</select>
</mapper>
在这些情况下,MyBatis 会在幕后自动创建一个 ResultMap,再根据属性名来映射列到 JavaBean 的属性上。
ResultMap
上面的例子不需要显式配置 ResultMap
显式使用外部的 resultMap 是解决列名不匹配的另外一种方式
<mapper namespace="org.mybatis.example.BlogMapper">
<resultMap id="userInfoResult" type="UserInfo">
<id property="userId" column="user_id" />
<result property="userName" column="username"/>
<result property="userPassword" column="user_password"/>
<result property="createTime" column="create_time"/>
<result property="updateTime" column="update_time"/>
</resultMap>
<select id="selectUser" resultMap="userInfoResult">
select * from user_info where user_id = #{id}
</select>
</mapper>