mybatis返回多結果集


一、返回Map類型

1、如果查詢的結果是一條,我們可以把查詢的數據以{表字段名, 對應的值}方式存入到Map中。
mapper 接口:
    //  根據 id 查詢信息,並把結果信息封裝成 Map 
    Map<String,Object> getUserInfo(@Param("user_id") Integer user_id);
SQL 映射文件:
    <!-- 這里為resultType="map" -->
	<select id="getUserInfo" resultType="map">
		select a.*,
		b.role_name
		from (
		select * from t_user where user_id= #{user_id}
		) a
		inner join t_role b
		on a.role_id = b.role_id
	</select>
單元測試
    @Test
    public void testLogin() {
        Map<String,Object> map =userDao.getUserInfo(10086);
        map.remove("user_password");
        System.out.println(map);
    }
查詢結果

二、多結果集

mapper 接口:

    /**
     * 調用存儲過程獲取多個結果集
     * @return
     */
    List<List<?>> getTests();
SQL 映射文件:
	<!--調用存儲過程獲取多個結果集
	"神bug 不加前面的兩個橫杠報錯"
	-->
    <select id="getTests" statementType="CALLABLE" resultMap="paging_list,paging_additional" >
--
	CALL paging_list ( '*','t_user',1 , 3 , 'faculty_id in (2) and role_id in (3)' , '',@_totalcount,@_pagecount)

     </select>
單元測試
    /**
     * 測試調用存儲過程獲取多個結果集
     */
    @Test
    public void testGetTests(){
        List<List<?>> aa =userDao.getTests();
        System.out.println(aa.get(0));
        System.out.println(aa.get(1));
    }
查詢結果


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM