QQ交流群:513422479
假如现在有这么个需求,需要返回一个很复杂的数据,比如C1表的一些数据,C2表的一些数据,C3表的一些数据.......Cn表的数据,并且需要一次性返回,这种需求我们返回类型为实体类的话map.xml文件编写起来就非常的复杂,这时返回类型返回为map就非常的方便
map.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.rx.sceo.itsys.mapper.EIT11ABMapper">
<select id="Query" resultType="java.util.Map" statementType="STATEMENT">
<![CDATA[
SELECT
rldd_id,
rlmd_id,
a.rldd_label,b.rlmd_version,b.rlmd_prjname,b.rlmd_dllname,c.rlmm_name,c.rlmm_code
FROM table1 a
INNER JOIN table2 b ON a.rldd_rlmd_id = b.rlmd_id
INNER JOIN table3 ON c.rlmm_id = b.rlmd_rlmm_id
WHERE a.rldd_rldm_id = ${mid}
]]>
</select>
</mapper>
dao.java
public interface EIT11ABMapper {
List<Map<String, Object>> Query(@Param("mid") int mid);
}
service层:
@Override
public Pagination<Map<String, Object>> Query(int pageNum, int pageSize, int mid) {
Page page= PageHelper.startPage(pageNum,pageSize);
List<Map<String, Object>> map= eit11ABMapper.Query(mid);
Pagination<Map<String, Object>> pageInfo = new Pagination<Map<String, Object>>(map, page.getPageNum(), page.getPageSize(), page.getTotal());
return pageInfo;
}
结果:list里面的数据就是我们要的数据