1. 程式人生 > >輸出對映resultMap

輸出對映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();
}