背景:
App实现类似微信朋友圈相册功能
实现功能逻辑:
首先查出所有的时间,然后通过时间查出所有照片,把照片放到list中返回数据
数据库:
mapper:
<select id="queryTime" resultType="java.lang.String"> select DATE_FORMAT(create_time,'%Y-%m') from app_img where user_id = #{userId} group by DATE_FORMAT(create_time,'%Y-%m') </select> <select id="queryImg" resultType="com.heyi.shshu.app.model.AppImg"> select img from app_img where DATE_FORMAT(create_time,'%Y-%m') = #{date} </select> List queryTime(String userId); List<AppImg> queryImg(String date);service层:
public interface AppImgService { List queryTime(String userId); List<AppImg> queryImg(String date); }serviceImpl
@Override public List queryTime(String userId) { return appImgMapper.queryTime(userId); } @Override public List<AppImg> queryImg(String date) { return appImgMapper.queryImg(date); }controller:
@ResponseBody @RequestMapping("/imgList") public Tip imgList(String userId){ List time = appImgService.queryTime(userId); List<Object> li = new ArrayList<>(); for(int i=0;i<time.size();i++){ List<String> list1 = new ArrayList<>(); HashMap<String, Object> map = new LinkedHashMap<>(); List<AppImg> list = appImgService.queryImg(String.valueOf(time.get(i))); for (AppImg appImg : list) { list1.add(appImg.getImg()); } map.put("time",String.valueOf(time.get(i))); map.put("date",list1); li.add(map); } return new Tip(li); }