1.mapper接口编写:
/** * @方法功能: 获取品类数据,三级 * @作者: 顾雨泽 * @时间: 2019/7/3 14:24 */ List<Map<String,Object>> fetchTypesOfProductMap();
2.sql语句编写:
<resultMap id="typeMap" type="map"> <id property="id" column="id"/> <result property="name" column="name"/> <collection property="productTypeDtos" ofType="map" javaType="List"> <id property="id" column="id_2"/> <result property="name" column="name_2"/> <collection property="productTypeDtos" ofType="map" javaType="List"> <id property="id" column="id_3"/> <result property="name" column="name_3"/> </collection> </collection> </resultMap> <select id="fetchTypesOfProductMap" resultMap="typeMap"> SELECT pt.id id, pt.name, pt1.id id_2, pt1.name name_2, pt2.id id_3, pt2.name name_3 FROM t_product_type pt LEFT JOIN t_product_type pt1 ON pt1.Pid = pt.id LEFT JOIN t_product_type pt2 ON pt2.Pid = pt1.id WHERE pt.type = 1 </select>
3.List<Map<String,Objcect>> 转jsonArry
List<Map<String, Object>> types = authetailsService.fetchTypesOfProductMap(); JSONArray jsonOfTypes = new JSONArray(); for(int i=0; i<types.size(); i++){ JSONObject json = new JSONObject(types.get(i)); jsonOfTypes.add(json); }