输出映射resultMap

①:编写接口方法
/**
* 根据id查询用户
* @param id
* @return
*/
public User queryUserById3(Integer id);


②:编写映射文件
1:定义resultMap
<!-- 将结果集中的一行映射为一个Java类对象(pojo对象)
type:结果集中的一行映射到的Java类(pojo);可以使用别名
id:resultMap的标识
-->
<resultMap type="User" id="userMap">
<!-- 结果集中唯一标识列的映射
column:唯一标识列的列名
property:Java类(pojo)中的属性名
-->
<!--
<id column="_id" property="id"/> -->

<!-- 结果集中普通列的映射
column:普通列的列名
property:Java类(pojo)中的属性名
-->
<result column="_id" property="id"/>
<result column="_username" property="username"/>
<result column="_birthday" property="birthday"/>
</resultMap>
2:使用resultMap
<!-- 根据id查询用户
如果resultMap属性使用其它映射文件(StaffMapper.xml)中定义的resultMap,则需要加上映射文件(StaffMapper.xml)中的命名空间(namespace)
--> <!-- resultMap="userMap" -->
<select id="queryUserById3" parameterType="java.lang.Integer" resultMap="org.pine.mybatis.mapper.StaffMapper.userMap1">
SELECT t.id _id,t.username _username,t.birthday _birthday
FROM USER t
WHERE t.id = #{id}
</select>

③:进行测试
@Test
public void testQueryUserById3(){
SqlSession sqlSession = sqlSessionFactory.openSession();
UserMapper userMapper = sqlSession.getMapper(UserMapper.class);
Integer id = 41;
User user = userMapper.queryUserById3(id);
logger.info("user==>"+user);
sqlSession.close();
}

posted @ 2018-12-31 17:22  松松敲代码  阅读(190)  评论(0编辑  收藏  举报