mybatis+mysql查询类别下的所有子类别(递归)
来源:互联网 发布:阿里云 青云 ucloud 编辑:程序博客网 时间:2024/05/22 07:42
场景:
1. 查询所有类别(大类别+子类别+子类别下的所有类别..);
2. 查询某个类别下的所有子类别;
3. 递归查询;
亲测可用,亲手总结!
实体类(省略get set方法)
public class Category implements Serializable { private int id; private String cname; private int count;//类别数量 private List<Category> categoryList;//子类类别集合 // private List<Book> bookList;//类别下的图书集合}
dao层
当id=0时查找所有类别,id不为0时查找id下的自类别
public interface CategoryDao { //查看所有类别(id=0)(或指定类别下所有子类别) public List<Category> getAll(@Param("categoryId") int categoryId);
mapper
先根据id查找到大类别,然后根据查找到的类别id递归查找其下的所有子类别
<resultMap id="categoryMap1" type="Category"> <id property="id" column="id"></id> <result property="cname" column="cname"></result> <result property="count" column="count"></result> <collection property="categoryList" ofType="Category" javaType="java.util.List" column="id" select="getById"/> </resultMap> <!--根据父类id查找其子类别--> <select id="getById" resultMap="categoryMap1" parameterType="int"> SELECT * FROM dcategory WHERE parent_id = #{id} </select> <!--查找所有类别(递归)--> <select id="getAll" resultMap="categoryMap1" parameterType="int"> SELECT * FROM dcategory WHERE 1 = 1 <choose> <when test="categoryId ==0"> AND dcategory.parent_id IS NULL </when> <otherwise> AND id = #{categoryId} </otherwise> </choose> </select>
测试
@Test public void testGetAll() { List<Category> categories = categoryDao.getAll(1); System.out.println("测试获取所有类别========》" + categories); for (Category c : categories ) { System.out.println(c.getCname() + "=========" + c.getCount()); List<Category> childs = c.getCategoryList(); for (Category c1 : childs ) { System.out.println(c1.getCname()); } } }
阅读全文
0 0
- mybatis+mysql查询类别下的所有子类别(递归)
- service层递归方法查询指定类别下的所有子类别
- mybatis+mysql查询大类别下的所有图书(递归)
- sql server获取某一类别及该类别下的所有子类别
- 获取 当前类别所有子类别及 类别相应的深度
- SQL2008 递归查询子类别
- 实现父类别,子类别
- mybatis+mysql递归查询
- mysql递归查询,mysql中从子类ID查询所有父类(做无限分类经常用到)
- mysql 更具父类id 查询所有子类id
- 多条件组合查询,并根据指定类别找出所有最小子类别的SQL语句备忘
- 递归查询---当前分类的下的所有子分类
- java 查询目录下所有的文件(包含递归)
- ztree递归查询某节点下的所有子节点
- mysql -- 递归查询所有子节点
- LigurUi + spring mybatis mysql 菜单递归查询
- mysql 父类查询所有子类以及从子类查询父类
- mysql从子类id查询所有父类
- scrapy中文存储
- 别怕丨苹果MacOS被爆系统漏洞 教你如何避免
- 听见丨特斯拉Semi电动卡车销量不错 主打轻量级AI解决方案,禾思科技获1000万元天使轮融资
- 通过存储技术建立数据中心存储层
- ARM 使用调试接口输出打印信息
- mybatis+mysql查询类别下的所有子类别(递归)
- Linux中的文件特殊权限
- SQL优化集合(百万级数据库优化方案)
- Hadoop完全分布式集群搭建
- printf和gets的用法及区别
- axios相关配置
- ArcGIS 分幅分割栅格
- 白盒测试
- MySQL学习小结