1. 程式人生 > >Mybatis輸入對映parameterType與輸出對映ResultMap是Map型別的解決方案

Mybatis輸入對映parameterType與輸出對映ResultMap是Map型別的解決方案

當輸入對映parameterType為是Map型別時:

<!-- 傳入放入值是Map型別時:
		${uname}:取出key='uname'的值
	 -->
	<select id="findUser" parameterType="java.util.HashMap" resultType="cn.itcast.mybatis.po.User">
		select * from user where user.username like '%${uname}%' and user.sex='女'
	</select>

<!--public List<User> findUser(Map<String, String> map) throws Exception;-->

當ResultType是Map型別時

使用resultType進行輸出對映,只有查詢出來的列名和pojo中的屬性名一致,該列才可以對映成功。

如果查詢出來的列名和pojo類的列名全部不一致,則不會建立pojo物件

只要查詢出來的列名和pojo中的屬性名有一個一致,就會建立pojo物件

resultTypeMap是,將輸出的欄位名稱作為Mapkeyvalue為欄位值;如果查詢出多個物件,Mapper.java應該定義為List<HashMap> 型別

<!-- 測試返回值是Map型別,欄位是key值,欄位的值是value -->
	<select id="findUserMap" parameterType="cn.itcast.mybatis.po.User" resultType="java.util.HashMap">
		select * from user where username like '${username}'
	</select>

<!--public List<HashMap> findUserMap(User user) throws Exception;-->