如果页面需要的数据来自于多张表中的数据,如何查询数据

如果页面需要的数据来自于多张表中的数据,如何查询数据

方案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);
        }
    }

 

如果页面需要的数据来自于多张表中的数据,如何查询数据

上一篇:通过 Gitlab 找回远程、本地都删除的Commit


下一篇:vue vant解决浏览器刷新导航栏跳转至首页的两个方法