如果页面需要的数据来自于多张表中的数据,如何查询数据
方案1:
创建VO对象,保存查询的一条记录,如果查询的结果包含多条数据,Mybatis会自动将其封装成List<VO>集合。
方案2:
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); } }