查询效果
{
"success": true,
"status": "200",
"msg": "获取班级圈列表成功",
"data": {
"pageSize": 4,
"firstIndex": 0,
"lastIndex": 1,
"items": [
{
"id": "2",
"openId": "123456789",
"classNumber": 1201801,
"orgId": "11111111",
"content": "今天开学了",
"picture": "2.jpg",
"userType": "0",
"userId": "39914d265901458aa06aba9d5b0c61ba",
"sort": 0,
"del": "0",
"createdatetime": "2019-02-26 09:49:49",
"modifydatetime": "2019-02-26 09:49:52",
"userName": "张瑛3",
"commentList": [],
"praiseList": []
},
{
"id": "1",
"openId": "123456789",
"classNumber": 1201801,
"orgId": "11111111",
"content": "今天天气真好",
"picture": "1.jpg",
"userType": "0",
"userId": "39914d265901458aa06aba9d5b0c61ba",
"sort": 0,
"del": "0",
"createdatetime": "2019-02-26 09:49:13",
"modifydatetime": "2019-02-26 09:49:16",
"userName": "张瑛3",
"commentList": [
{
"id": "1",
"classCircleId": "1",
"openId": "1",
"userId": "39914d265901458aa06aba9d5b0c61ba",
"content": "看上去真不错",
"sort": 0,
"del": 0,
"createdatetime": "2019-02-26 15:33:47",
"modifydatetime": "2019-02-26 15:33:48",
"userName": "张瑛3"
},
{
"id": "2",
"classCircleId": "1",
"openId": "1",
"userId": "39914d265901458aa06aba9d5b0c61ba",
"content": "还行吧,也就那么回事",
"sort": 0,
"del": 0,
"createdatetime": "2019-02-27 10:24:29",
"modifydatetime": "2019-02-27 10:24:32",
"userName": "张瑛3"
}
],
"praiseList": [
{
"id": "1",
"classCircleId": "1",
"userIds": "1,2,3,",
"counts": 3
}
]
}
],
"totalItems": 2,
"totalPages": 1,
"currentPage": 1,
"pageItemsCount": 2,
"lastPage": true,
"firstPage": true
}
}
mapper.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.welsee.mapper.ClassCircleMapper">
<!-- 通用查询映射结果 -->
<resultMap id="BaseResultMap" type="com.welsee.entity.ClassCircle">
<id column="id" property="id"/>
<result column="open_id" property="openId"/>
<result column="class_number" property="classNumber"/>
<result column="org_id" property="orgId"/>
<result column="content" property="content"/>
<result column="picture" property="picture"/>
<result column="user_type" property="userType"/>
<result column="user_id" property="userId"/>
<result column="sort" property="sort"/>
<result column="del" property="del"/>
<result column="createdatetime" property="createdatetime"/>
<result column="modifydatetime" property="modifydatetime"/>
</resultMap>
<resultMap id="extClassCircleMap" type="com.welsee.extentity.ExtClassCircle" extends="BaseResultMap">
<result column="user_name" property="userName"/>
<collection property="commentList" column="comment_list" ofType="com.welsee.entity.ClassCircleComment"
select="findClassCircleCommentList"/>
<collection property="praiseList" column="praise_list" ofType="com.welsee.entity.ClassCirclePraise"
select="findClassCirclePraise"/>
</resultMap>
<select id="findClassCircleCommentList" resultType="com.welsee.extentity.ExtClassCircleComment">
SELECT ccc.* ,p.realname user_name
FROM class_circle_comment ccc
LEFT JOIN person p ON ccc.user_id = p.id AND p.del = 0
WHERE ccc.class_circle_id = #{arg0}
</select>
<select id="findClassCirclePraise" resultType="com.welsee.entity.ClassCirclePraise">
SELECT * FROM class_circle_praise WHERE class_circle_id = #{arg0}
</select>
<select id="getClassCircleListInfo" resultMap="extClassCircleMap">
SELECT c.*,p.realname user_name,c.id comment_list,c.id praise_list
FROM class_circle c
LEFT JOIN person p ON c.user_id = p.id AND p.del = 0
WHERE c.class_number = #{classNumber} AND c.org_id = #{orgId} AND c.del = 0 ORDER BY c.sort DESC,c.createdatetime DESC
</select>
</mapper>