java - mybatis一对多关系用oracle实现分页
高洛峰
高洛峰 2017-04-18 10:07:42
0
2
500
高洛峰
高洛峰

拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...

reply all(2)
左手右手慢动作

First find out the ID array of each page according to the conditions. Use your paging method
Then use the ID array to query the detailed data you need

小葫芦

I have made a similar infinite-level menu tree before. I will briefly talk about my ideas and you can try it to see if it can be realized.
Mainly through Map+递归 realizing layer-by-layer nesting, and then I think it can be used for one-level The reply is paginated. You can refer to the structural part of the code:

public class ResourceTree {
    public static Map<String, Object> mapArray = new LinkedHashMap<String, Object>();
    public List<Resource> menuCommon;
    public List<Object> list = new ArrayList<Object>();

    public List<Object> menuList(List<Resource> resource) {
        this.menuCommon = resource;
        for (Resource x : resource) {
            Map<String, Object> mapArr = new LinkedHashMap<String, Object>();
            if (x.getParentId() == 0) {
                mapArr.put("id", x.getId());
                mapArr.put("text", x.getResourceName());
                mapArr.put("resourceUrl", x.getUrl());
                mapArr.put("resourceParent", x.getParentId());
                mapArr.put("resourceType", x.getType());
                mapArr.put("resourceTag", x.getResourceCode());
                // mapArr.put("resourceIcon", x.getResourceIcon());
                // mapArr.put("resourceParentPath", x.getResourceParentPath());
                mapArr.put("children", menuChild(x.getId()));
                list.add(mapArr);
            }
        }
        return list;
    }

    public List<?> menuChild(int id) {
        List<Object> lists = new ArrayList<Object>();
        for (Resource a : menuCommon) {
            Map<String, Object> childArray = new LinkedHashMap<String, Object>();
            if (a.getParentId() == id) {
                childArray.put("id", a.getId());
                childArray.put("text", a.getResourceName());
                childArray.put("resourceUrl", a.getUrl());
                childArray.put("resourceParent", a.getParentId());
                childArray.put("resourceType", a.getType());
                childArray.put("resourceTag", a.getResourceCode());
                // childArray.put("resourceIcon", a.getResourceIcon());
                // childArray.put("resourceParentPath",    a.getResourceParentPath());
                childArray.put("children", menuChild(a.getId()));
                lists.add(childArray);
            }
        }
        return lists;

    }
}
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
About us Disclaimer Sitemap
php.cn:Public welfare online PHP training,Help PHP learners grow quickly!