Mybatis輸入對映parameterType與輸出對映ResultMap是Map型別的解決方案
阿新 • • 發佈:2019-02-15
當輸入對映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物件
當resultType是Map是,將輸出的欄位名稱作為Map的key,value為欄位值;如果查詢出多個物件,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;-->