程序笔记   发布时间:2022-07-18  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了springboot 整合 mybatis plus -- 树状图大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

 

先根据 springboot 整合 mybatis plus  这篇生成各种文件

 

controller:

package com.lifan.controller;


import com.lifan.service.AcUserTreeservice;
import com.lifan.vo.AcUserVo;
import org.springframework.beans.factory.Annotation.Autowired;
import org.springframework.web.bind.Annotation.PostMapping;
import org.springframework.web.bind.Annotation.RestController;
import java.util.List;

/**
 * <p>
 *  前端控制器
 * </p>
 *
 * @author lifan
 * @since 2021-07-09
 */
@RestController
public class AcUserTreeController {

    @Autowired
    private AcUserTreeservice acUserTreeservice;

    @PostMapping("/treeQuery")
    public List<AcUserVo> SspFxProQuery() {
        List<AcUserVo> fxCompanyVos = acUserTreeservice.formulaClothClassGetTree();

        return fxCompanyVos;
    }

}

 

service:

package com.lifan.service;

import com.lifan.vo.AcUserVo;
import java.util.List;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author lifan
 * @since 2021-07-09
 */
public interface AcUserTreeservice {

    List<AcUserVo> formulaClothClassGetTree();
}

 

AcUserTreeserviceImpl :

package com.lifan.service.impl;

import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.lifan.entity.AcUserTree;
import com.lifan.mapper.AcUserTreeMapper;
import com.lifan.service.AcUserTreeservice;
import com.lifan.vo.AcUserVo;
import org.springframework.beans.beanUtils;
import org.springframework.beans.factory.Annotation.Autowired;
import org.springframework.stereotype.service;
import java.util.ArrayList;
import java.util.List;

/**
 * <p>
 *  服务实现类
 * </p>
 *
 * @author lifan
 * @since 2021-07-09
 */
@service
public class AcUserTreeserviceImpl implements AcUserTreeservice {

    @Autowired
    private AcUserTreeMapper acUserTreeMapper;

    public List<AcUserVo> formulaClothClassGetTree() {
        QueryWrapper queryWrapper = new QueryWrapper();
        //只查询 启用状态的
//        queryWrapper.eq("`show`",'Y');
        List<AcUserTree> list = acUserTreeMapper.SELEctList(queryWrapper);
        List<AcUserVo> list1 = new ArrayList();
        for(AcUserTree sspFxCompany : list){
            AcUserVo fxCompanyVos = new AcUserVo();
            if(sspFxCompany.getPid().equals("1")){
                BeanUtils.copyProperties(sspFxCompany, fxCompanyVos);
                fxCompanyVos.setChildren(formulaClothClassNextTree(list,(sspFxCompany.getId())));
                list1.add(fxCompanyVos);

            }
        }
        return list1;
    }

    public List<AcUserVo> formulaClothClassNextTree(List<AcUserTree> list, Long formulaClothClassId) {
        List<AcUserVo> list1 = new ArrayList();
        for(AcUserTree sspFxCompany : list){
            AcUserVo fxCompanyVos = new AcUserVo();
            if(sspFxCompany.getPid().equals(formulaClothClassId.toString())){
                BeanUtils.copyProperties(sspFxCompany, fxCompanyVos);
                fxCompanyVos.setChildren(formulaClothClassNextTree1(list,sspFxCompany.getId()));
                list1.add(fxCompanyVos);
            }
        }
        return list1;
    }

    public List<AcUserVo> formulaClothClassNextTree1(List<AcUserTree> list, Long formulaClothClassId) {
        List<AcUserVo> list1 = new ArrayList();
        for(AcUserTree sspFxCompany : list){
            AcUserVo fxCompanyVos = new AcUserVo();
            if(sspFxCompany.getPid().equals(formulaClothClassId.toString())){
                BeanUtils.copyProperties(sspFxCompany, fxCompanyVos);
                fxCompanyVos.setChildren(formulaClothClassNextTree1(list,sspFxCompany.getId()));
                list1.add(fxCompanyVos);
            }
        }
        return list1;
    }

}

 

实体类:

package com.lifan.entity;

import com.baomidou.mybatisplus.Annotation.IdType;
import com.baomidou.mybatisplus.Annotation.TableField;
import com.baomidou.mybatisplus.Annotation.TablEID;
import java.io.serializable;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

/**
 *
 * @author lifan
 * @since 2021-07-09
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
public class AcUserTree implements serializable {

    private static final long serialVersionUID = 1L;

    @TablEID(value = "id", type = IdType.ID_WORKER_STR)
    private Long id;

    private String name;

    private String pid;

    //show 是数据库关键字,起个别名
    @TableField("`show`")
    private String show;
}

 

接受请求类:

package com.lifan.request;

import lombok.Data;


/**
 *
 * @author lifan
 * @since 2021-07-09
 */
@Data
public class AcUserTreeReq {

    private Long id;

    private String name;

    private String pid;

    private String show;

}

 

响应扩展类:

package com.lifan.vo;

import lombok.Data;

import java.util.List;

/**
 *
 * @author lifan
 * @since 2021-07-09
 */
@Data
public class AcUserVo {

    private Long id;

    private String name;

    private String pid;

    private String show;

    private List<AcUserVo> children;

}

 

@H_846_0@mapper 接口:

package com.lifan.mapper;

import com.lifan.entity.AcUserTree;
import com.baomidou.mybatisplus.core.mapper.baseMapper;
import org.apache.ibatis.Annotations.Mapper;

/**
 * <p>
 *  Mapper 接口
 * </p>
 *
 * @author lifan
 * @since 2021-07-09
 */
@mapper
public interface AcUserTreeMapper extends BaseMapper<AcUserTree> {

}

 

@H_846_0@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">
<@H_620_576@mapper namespace="com.lifan.mapper.AcUserTreeMapper">

</@H_620_576@mapper>

 

测试:

springboot 整合 mybatis plus -- 树状图

 

 

数据库:

pid为1 是一级结构,一级结构的id对应二级结构的pid, 下表最多的是5级

springboot 整合 mybatis plus -- 树状图

 

 

SQL :

/*
 Navicat Premium Data Transfer

 source Server         : localhost
 source Server Type    : MySQL
 source Server Version : 80023
 source Host           : localhost:3306
 source scheR_762_11845@a         : ac-new

 Target Server Type    : MySQL
 Target Server Version : 80023
 File Encoding         : 65001

 Date: 09/07/2021 18:46:34
*/

SET NAMES utf8mb4;
SET FOREIGN_KEY_checKS = 0;

-- ----------------------------
-- Table structure for ac_user_tree
-- ----------------------------
drop table IF EXISTS `ac_user_tree`;
create table `ac_user_tree`  (
  `id` bigint(0) NOT NULL,
  `name` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `pid` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `show` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;

-- ----------------------------
-- Records of ac_user_tree
-- ----------------------------
INSERT INTO `ac_user_tree` VALUES (1001, 'li', '1', 'Y');
INSERT INTO `ac_user_tree` VALUES (1002, 'wang', '1', 'Y');
INSERT INTO `ac_user_tree` VALUES (1003, 'zhao', '1', 'Y');
INSERT INTO `ac_user_tree` VALUES (1004, 'li-1', '1001', 'Y');
INSERT INTO `ac_user_tree` VALUES (1005, 'wang-1', '1002', 'Y');
INSERT INTO `ac_user_tree` VALUES (1006, 'wang-2', '1002', 'Y');
INSERT INTO `ac_user_tree` VALUES (1007, 'wang-3', '1002', 'Y');
INSERT INTO `ac_user_tree` VALUES (1008, 'zhao-1', '1003', 'Y');
INSERT INTO `ac_user_tree` VALUES (1009, 'zhao-2', '1003', 'Y');
INSERT INTO `ac_user_tree` VALUES (1010, 'li-1-1', '1004', 'Y');
INSERT INTO `ac_user_tree` VALUES (1011, 'li-1-2', '1004', 'Y');
INSERT INTO `ac_user_tree` VALUES (1012, 'li-1-1-1', '1010', 'Y');
INSERT INTO `ac_user_tree` VALUES (1013, 'li-1-1-2', '1010', 'Y');
INSERT INTO `ac_user_tree` VALUES (1014, 'li-1-1-3', '1010', 'Y');
INSERT INTO `ac_user_tree` VALUES (1015, 'li-1-2-1', '1011', 'Y');
INSERT INTO `ac_user_tree` VALUES (1016, 'li-1-2-2', '1011', 'Y');
INSERT INTO `ac_user_tree` VALUES (1017, 'li-1-2-3', '1011', 'Y');
INSERT INTO `ac_user_tree` VALUES (1018, 'wang-1-1', '1005', 'Y');
INSERT INTO `ac_user_tree` VALUES (1019, 'wang-1-2', '1005', 'Y');
INSERT INTO `ac_user_tree` VALUES (1020, 'wang-1-1-1', '1018', 'Y');
INSERT INTO `ac_user_tree` VALUES (1021, 'li-1-1-1-1', '1012', 'Y');
INSERT INTO `ac_user_tree` VALUES (1022, 'li-1-1-1-2', '1012', 'Y');

SET FOREIGN_KEY_checKS = 1;

 

大佬总结

以上是大佬教程为你收集整理的springboot 整合 mybatis plus -- 树状图全部内容,希望文章能够帮你解决springboot 整合 mybatis plus -- 树状图所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。