无限极分类

bean:没有写全,明白什么意思就行

public class
Category implements Serializable {private Integer categoryId;private String categoryName;private Integer parentId;private List<Category> children;
}

mapper类

    List<Category> getRootCategory(); // 获取一级菜单,顶级菜单List<Category> getCategoryByParentId(Integer parentId); //根据父一级菜单,返回所有子菜单

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.mall.mapper.CategoryMapper"><!-- 通用查询映射结果 --><resultMap id="BaseResultMap" type="com.mall.beans.Category"><id column="category_id" property="categoryId"/><result column="category_name" property="categoryName"/><!--这句语句的作用相当于调用  getCategoryByParentId(category_id的值)  方法,返回的数据赋值给children,数据的类型是oftype的值这个不一定非得用于无限极分类, 这句话的作用其实就是调用个方法给字段赋值--><collection  column="category_id" property="children" ofType="com.mall.beans.Category" select="getCategoryByParentId"/></resultMap><select id="getRootCategory" resultMap="BaseResultMap">SELECT *from category cwhere c.parent_id = 0</select><select id="getCategoryByParentId" resultMap="BaseResultMap" >select * from category c where parent_id=#{parentId}</select>
</mapper>

这实现了效果,原理就是不断调用自身然后赋值给·children·

当然了,如果是三级分类或者二级分类的话可以用sql语句直接实现
三级分类用sql语句怎么写(多级分类的写法)

Mybatis递归自查询查(无限极分类)相关推荐

  1. php 递归实现无限极分类和排序_Laravel框架实现无限极分类

    php中文网最新课程 每日17点准时技术干货分享 最近开发商品功能,在尝试递归和引用方式后,蓦然回首,突然发现laravel框架有更简单高效的实现方式,无限极分类最佳实践,open code与大家共享 ...

  2. 两种实现php无限极分类

    一.两种实现php无限极分类 设置原始数据 public function index(){$items = array(1 => array('id' => 1, 'pid' => ...

  3. php无极限分类讲解,php无限极分类入门教程

    这篇文章主要介绍了PHP无限极分类函数的实现方法,结合实例形式详细分析了php实现无限极分类的具体思路.实现代码与相关注意事项,需要的朋友可以参考下本文实例讲述了PHP无限极分类函数的实现方法.分享给 ...

  4. php不使用递归实现无限极分类

    无限极分类常用的是递归,但是比较不好理解,其实可以用数据库path,pid两个字段的设计来实现无限分类的功能 1.数据库设计 通过上图可以看出pid就是该栏目的父id,而path = 父path+pi ...

  5. php 递归实现无限极分类和排序_无限极分类的两种方式,递归和引用

    说到无限极分类,比较常见的做法是在建表的时候,增加一个parnet_id字段用来区别自己所属的分类(是顶级分类还是子分类) 由于展示数据的时候,需要表达出这种所属关系,所以必然要在读取数据的时候进行一 ...

  6. php 引用 无限极分类,php 无限极分类(递归Or引用两种方法)

    项目中有很多地方需要用到无限极分类,之前数据量比较少,用递归方法虽然慢但是还可以接受,但是现在的数据量接近4万,php处理递归比较吃亏,递归100次就已经很难跑动了,无奈之下又得选择其它的方法,引用. ...

  7. php无极分类非递归_无限极分类算法,对你一定有帮助

    无限级分类是开发中常见的情况,也经常会在面试,主考官问到,笔试中遇到,因此本文对常见的无限极分类算法进行总结归纳,其实大多数就是迭代与递归. 1.循环迭代实现 $arr = [1=>['id'= ...

  8. PHP递归实现无限极分类

    PHP递归实现无限极分类 摘要 今天在编码的时候要用到二级的栏目分类,所以顺便就把无限极分类给整理了一下,采用的是递归方法 //实现无限级分类public function getTree(){$ca ...

  9. 无限极分类JAVA 实现—查子孙树、家谱树

    无限极分类JAVA  实现-查子孙树.家谱树 效果展示: import java.util.*;public class Test {List<HashMap<String, Object ...

  10. php 递归无限极分类和层级展示(适用于权限管理和分类管理功能)

    php 递归无限极分类和层级展示(适用于权限管理和分类管理功能) 第一:权限管理层级展示 /*** 数组的合并,并加上html标识前缀* @param array $data* @param int ...

最新文章

  1. 【ACM】连续出现的字符
  2. floodlight java_floodlight学习系列(1)——在Eclipse中安装运行floodlight
  3. java.lang.NumberFormatException: For input string: F
  4. Redis Lua脚本中学教程(上)
  5. JAVA泛型--待续
  6. jdk jenkins 配置ant_Jenkins流水线实践课程
  7. TME上市两周年|为2020甜蜜发糖,收获2021的希望
  8. 改SB训练数据的名字
  9. mysql sql语句 datediff_SQL语句中DateDiff函数说明
  10. SIM868使用笔记
  11. 2020年C语言编程软件,c语言编程软件-精易csharp编程助手下载2020.07 正式安装版_久友下载站...
  12. [点评] [电子科技大学][TCP/IP协议原理][杨宁]
  13. rook 排错记录 + Orphaned pod found kube-controller-manager的日志输出
  14. 4A 统一安全管理平台解决方案。
  15. “硬解码”与“软解码”的区别
  16. 计算机引起usb设备无法识别的原因有哪些,计算机无法识别USB设备是什么原因
  17. java——简易绘图板
  18. CTU 2017 B - Pond Cascade 二分
  19. python 实现 代理模式
  20. android studio提示HAXM device is not found或者could not start avd

热门文章

  1. idea整个项目乱码解决办法
  2. nodejs - 服务端管理 - PM2
  3. 新浪微博开放平台站内应用开发流程直播(四)
  4. 简单的sql循环操作
  5. 小胖IT大讲堂之一 .NET Reflector工具介绍
  6. linux es数据库 head,Elasticsearch可视化插件ES-HEAD安装启动步骤
  7. android fresco 存储,Android使用Fresco之下载图片(包括GIF图)
  8. python的wget用法介绍_Python使用wget实现下载网络文件功能示例
  9. 拓端tecdat|R语言多分类logistic逻辑回归模型在混合分布模拟个人风险损失值评估的应用
  10. feign 多个参数放对象_feign架构 原理解析