写在前面 最近实现一个小需求,前端需要菜单的信息,需要向后端发起获取菜单的请求,菜单又是一个多级菜单,后端我用的mybatis进行数据库查询,实现的方法我这里想到有两种,欢迎大家补充. 1. 在Menu类中添加属性private List children 在菜单类中添加一个属性private List<Menu> children 用来存储子节点 package com.example.springbootvue.entity; import java.io.Serializable; im
在Mybatis多条件查询中: 1.参数如果是多条件,则需要将将添加到Map集合中进行传入. 2.就是将其参数用有序数字进行代替. Mybatis单个String类型参数传递 mysql文如下,传入参数为‘parentCategoryId’,运行报错为:There is no getter for property named 'parentCategoryId' in 'class java.lang.String <select id="selectCategoryList"
实现技术: 存储过程 ,零时表(3) 一句话说完 :把父级查询下来的子级ID 保存成零时表,并且将符合子级ID数据添加到另一张零时表. 同时清空数据时需要使用到一张零时表作为容器: alter PROCEDURE sel_sum@a int ASBEGINselect id,nodename ,pid into #fz from treenodes where id=@a--创建零时表,并且将最上级id添加记录select id into #array from treenode
前言 因为业务要求api的一次请求响应时间在10ms以内,所以传统的数据库查询操作直接被排除(网络io和磁盘io).通过调研,最终使用了bieset,目前已经正常运行了很久 *** bitset介绍 看JDK中的解释简直一头雾水,用我自己的理解概括一下 bitset的内部实现是long数组 set中每一个位的默认值为false(0) bitset长度按需增长 bitset非线程安全 *** bitset关键方法分析 /** * Sets the bit at the specified inde
mybatis的模糊查询格式: <select id="xxx" parameterType="com.model.xxx" resultMap="BaseResultMap"> select * from users WHERE 1=1 <if test="name != null and name != ''" > and name like CONCAT('%',#{name,jdbcType=V