MyBatis Plus 无实体,返回 List 、Map

无实体对象,构建返回 List

HomeMapper.xml 返回 Map

<select id="getSummary" resultType="java.util.Map">
    SELECT 'orgCount' AS name, count(1) as value FROM sys_organization WHERE status=1
    UNION all
    SELECT 'deptCount' AS name, count(1) as value FROM sys_department WHERE status=1
</select>


<select id="getList" resultType="java.util.Map">
        select name,sum(lotteryCount) as 'lotteryCount', sum(promoterCount) as 'promoterCount' from (
        SELECT work_group_name AS name,0 as 'lotteryCount',count(1) as 'promoterCount' FROM member_relation
        where work_group_name is not null
        <if test="startTime != null">
            AND create_time >= #{startTime}
        </if>
        <if test="endTime != null">
            AND create_time &lt;= #{endTime}
        </if>
        GROUP BY work_group_name
        UNION all
        SELECT work_group_name AS name,count(1) as 'lotteryCount',0 as 'promoterCount' FROM member_records
        where work_group_name is not null
        <if test="startTime != null">
            AND create_time >= #{startTime}
        </if>
        <if test="endTime != null">
            AND create_time &lt;= #{endTime}
        </if>
        GROUP BY work_group_name
        ) t
        GROUP BY name
        ORDER BY name
</select>


<select id="getPageList" resultType="java.util.Map">
        select * from table
</select>

HomeMapper.java

    @MapKey("name")
    Map<String, Map<String, Object>> getSummary();

    List<Map<String, Object>> getList(@Param("startTime") Date startTime, @Param("endTime") Date endTime);

    IPage<Map<String, Object>> getPageList(Page page, @Param("startTime") Date startTime, @Param("endTime") Date endTime);

IHomeService.java

public interface IHomeService {

   Map<String, Object> getSummary();

   List<Map<String, Object>> getList(Date startTime, Date endTime);
   
   IPage<Map<String, Object>> getPageList(Page page, Date startTime, Date endTime); 
}

HomeService.java

@Service
public class HomeServiceImpl implements IHomeService {

    @Override
    public Map<String, Object> getSummary() {
        Map<String, Object> result = new HashMap<>();
        Map<String, Map<String, Object>> homeStatistics = homeMapper.getSummary();
        for (Map<String, Object> map : homeStatistics.values()) {
            result.put(map.get("name").toString(), map.get("value"));
        }
        return result;
   }
   
   public List<Map<String, Object>> getList(Date startTime, Date endTime) {
        List<Map<String, Object>>  pageList = homeMapper.getList(startTime, endTime);
   }


   public List<Map<String, Object>> getPageList(Page page,Date startTime, Date endTime) {
        List<Map<String, Object>>  pageList = homeMapper.getPageList(page,startTime, endTime);
   }
}
posted @ 2025-06-26 09:26  VipSoft  阅读(11)  评论(0)    收藏  举报