1. 程式人生 > 其它 >如果頁面需要的資料來自於多張表中的資料,如何查詢資料

如果頁面需要的資料來自於多張表中的資料,如何查詢資料

如果頁面需要的資料來自於多張表中的資料,如何查詢資料

方案1:

建立VO物件,儲存查詢的一條記錄,如果查詢的結果包含多條資料,Mybatis會自動將其封裝成List<VO>集合。

方案2:

可以mapper介面中方法定義返回值型別為Map<String,Object>,或者List<Map<String,Object>>

map的key是String型別,表示的列名

map的value是Object型別,表示的列值,

程式碼如下:

    public Map<String,Object> queryStudent(int id);

    
public List<Map<String,Object>> queryStu(String name);
    <select id="queryStudent" resultType="map" parameterType="int">
        select * from t_student where id = #{id}
    </select>

    <select id="queryStu" resultType="map" parameterType="string">
        select * from t_student where student_name = #{name}
    
</select>

測試類:

    @Test
    public void testQueryMap(){
        StudentMapper mapper = sqlSession.getMapper(StudentMapper.class);

        List<Map<String, Object>> list = mapper.queryStu("張三");
        for (Map<String, Object> map : list) {
            System.out.println(map);
        }
    }