Mybatis 注解 @Many 实现 递归菜单获取

Mybatis巧用@Many注解让一条SQL联合查询语句完成一对多查询 Mybatis巧用@Many注解, 一个SQL联合查询语句搞定一对多查询! 阅读详情

Mybatis 注解 @Many 实现 递归菜单获取

 

import org.apache.ibatis.annotations.*;

import java.util.List;

@Mapper
public interface MenuMapper {

    @Select("select * from menu where parentid=0")
    @Results(id="tree",value = {
            @Result(property = "id",column = "id"),
            @Result(property = "name",column = "name"),
            @Result(property = "parentId",column = "parentId"),
            @Result(property = "children",column = "id",many = @Many(select = "getTreeByParentId")),
    })
    List<Menu> getTreeList();

    @Select("select * from menu where parentId = #{parentId}")
    @ResultMap("tree")
    List<Menu> getTreeByParentId(int parentId);
}

 

MyBatis使用注解式@One和@Many实现一对一、一对多关联查询 在MyBatis 3提供了新的基于注解的配置,下面将使用MyBatis的注解式@One和@Many实现一对一、一对多关联查询。 (1)创建SpringBoot项目,项目结构如下图: (2)添加pom.xml配置信息 在pom.xml配置文件中添加MyBatis、MySQL的JDBC数据库驱动。 <!-- MyBatis与SpringBoot整合依赖 --> <dependency> <groupId>org.mybatis.spring.boot&. 阅读详情

相关推荐

WSL2+Ubuntu-22.04搭建PX4仿真环境:从零避坑到一键起飞

本文详细指导在Windows系统上通过WSL2和Ubuntu-22.04搭建PX4仿真开发环境的完整流程,涵盖环境配置、源码下载、依赖安装、Gazebo仿真及常见错误解决方案,帮助开发者从零避坑实现无人机一键起飞仿真。

k8s6orchestrator的博客 670

myBatis 注解 @Many 一对多 传递多个参数问题

这段时间碰到个问题,就是菜单分页的时候,需要传入两个以上的参数,经过研究发现原来要这么干: 如果@Many调用的方法需要传递空值,那么就不写该参数值。 column 参数写法 :{@Param 名称 = column 字段名 , @Param 名称 = column 字段名 ...}以逗号隔开 注意:第一个是传入字段名称,第二个是数据库字段名称,否则会获取不到值得。 /** * 查询所有1级与2级菜单信息 * * @return */ @S...

lingFei_y的博客 5463

Halcon: 获取仿射矩形-rectangle2的四个顶点、四条边的中点

Halcon 工业应用实用教程中的一个例子: * CenterY : 仿射矩形中心y * CenterX: 仿射矩形中心x * Phi: 仿射矩形角度 * Len1: 仿射矩形宽的一半 * Len2: 仿射矩形高的一半 * CornerY: 仿射矩形端点y * CornerX: 仿射矩形端点x * LineCenterY: 仿射矩形边中点y * LineCenterx: 仿射矩形边中点x * 矩...

ruotianxia的博客 8572

MyBatis 中的 `@Many` 注解举例说明

Many注解用于处理“一对多”关系。@Result注解中的many属性指定了一个@Many注解,用于表示多的一方。在@Many注解中,select属性指向另一个查询方法,通常用于查询关联表的数据。通过这种方式,你可以轻松地在 MyBatis 中处理一对多的关联关系。

exlink2012的专栏 1026

E-Prime脑电实验打mark全攻略:从端口查询到串并口实战(附常见问题解决)

本文提供了E-Prime脑电实验打mark的完整实战指南,涵盖端口查询、并口与串口配置的核心步骤及常见问题解决。文章深入解析了mark原理,并详细介绍了通过E-Basic脚本和Serial设备对象发送信号的两种方法,帮助研究者实现E-Prime与脑电设备的高精度时间同步,确保实验数据可靠性。

4k5l6j7h8的博客 355

【UE5】三步搞定Pixel Streaming:从零搭建Windows像素流服务

本文详细介绍了如何在Windows平台上快速搭建UE5 Pixel Streaming像素流服务,从插件安装、项目打包到服务启动的全流程操作。通过实战案例和优化配置,帮助开发者实现零客户端配置、跨设备兼容的高性能3D应用流式传输,特别适合建筑可视化和实时协作场景。

weixin_29000991的博客 318

MyBatis 一对多关系使用 @Many 注解

Mybatis 一对多关系使用 @Many 注解

fatfish_的博客 1797

实战指南:从零开始用YOLOv8训练VisDrone无人机检测模型

本文提供了一份详细的实战指南,手把手教你从零开始使用YOLOv8训练一个无人机检测模型。内容涵盖VisDrone数据集下载与格式转换、YAML配置文件编写、模型训练与评估,以及最终的推理部署,旨在帮助开发者快速掌握无人机视角下的目标检测技术。

salt的博客 686

Spring IOC基于注解快速开发应用程序,这一篇就够了

Spring框架常用注解 常用IOC注解按照作用分类 用于创建对象的: 他们的作用就和在XMl配置文件中编写一个<bean>标签实现的功能一样的。 <Component>: 作用:用于把当前类对象存入spring容器中, 属性:<value>:用于指定<bean>的<id>。 当我们不写时,它的默认值是当前类名,且首字母改小写。 <Controller>:一般用在表现层 <Service>:一般用在业务层 <Rep

weixin_43912996的博客 332

Freemarker整合poi导出带有图片的Excel教程

Freemarker整合poi导出带有图片的Excel教程 https://blog.youkuaiyun.com/x541211190/article/details/105675771根据此人博客可完成此功能,但原文中有一处错误需要纠正,当单元格合并时,计算起始单元格有错误。 源代码: /** * 构造合并单元格集合 * * @param createRowIndex: * @param cellRangeAddresses: * @param startIndex: * @param c

weixin_39403349的博客 1004

华南理工大学电子与信息学院23年预推免复试面试经验贴

华南理工大学电子与信息学院23年预推免复试面试经验贴

Scut_Ty的博客 3298

博为峰JavaEE技术文章-MyBatis @many使用方法

@many与@one的使用方法相同,用于表示一对多的关系。我们仍然使用之前的User(用户)和Hobby(兴趣)之间的一对多关系作为例子,来学习@many的使用方法。同样,先回顾下之前用Mapper XML配置的一对多关系模型: User类中有一个hobbyList,用于存放一个用户的所有兴趣爱好的对象。具体代码如下: Hobby数据库表中存放一个userId的字段,用于标识是

bwf_erg的博客 4321

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

MyBatis一对多查询@Select @Many

dao层: @Select("<script>" + "select * from t_parent" + "</script>") @Results({ @Result(property="children",column="id",many=@Many(select="com.sample.demo.dao.getList")) }) List<Type> getList(

Pluto 1834

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

【MyBatis】@Many

如果 关联多个 ,可以用 进行查询: 查询 时,自动查询 : 通过 查找订单列表 相当于 @One和@Many是类似的。

weixin_63466958的博客 304

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

Mybatis中的注解开发

文章目录Mybatis中的注解开发1.Mybatis 使用注解实现单表 CURD1.1 在IUserDao接口中使用注解1.2 测试类2. Mybatis 使用注解实现多对一(一对一)@one2.1 在Account类中添加一个主表实体User的对象引用(从表类)2.2 在IAccountDao接口中使用注解2.3 测试类3.Mybatis 使用注解实现一对多@many3.1 User实体类加入A...

reallllbj的博客 1371

springboot +mybatis 实现一对多,多对一,多对多 【注解版】

MyBatis中的一对多 ,多对一,多对多【注解】 以下的例子就是针对 前端框架中所实现的 省-市-区  选择框的数据接口 前端需要的接口类型:  后台代码: dao层: ProvinceDAO /**  *  * @author 邬志斌  * 2018年9月5日 下午2:51:13  */ @Mapper public interface P...

wzbjsz的博客 5315

SpringBoot使用Mybatis注解进行一对多和多对多查询

SpringBoot使用Mybatis注解进行一对多和多对多查询 GitHub的完整示例项目地址kingboy-springboot-data 一、模拟的业务查询 系统中的用户user都有唯一对应的地址信息address,每个用户可以有多量车car,类似如下结构 |-- user |-- address |-- carList |-- car1

KimZing的博客 3万+

Mybatis 注解 @Many 一对多 传递多个参数问题

Mybatis 注解 @Many 一对多 传递多个参数问题 如果@Many调用的方法需要传递空值,那么就不写该参数值。 column 参数写法 :{@Param 名称 = column 字段名 , @Param 名称 = column 字段名 ...}以逗号隔开 示例:方法不重要,重要的是使用方式 /** * 查询所有1级与2级菜单信息 * * @return */ @Select(" SELECT * FROM z_function_menu WHERE

痴人说梦c的博客 1117

Mybatis注解@One和@Many的区别

通常情况下,@One注解主要在一对一的关联查询中使用,而@Many主要在一对多的关联查询中使用。意外的是,本菜鸡通过查看源码,发现两者的源码是相同的。 @One源码: package org.apache.ibatis.annotations; import java.lang.annotation.Documented; import java.lang.annotation.Retentio...

碌碌无为的小陈的博客 1万+

Mybatis篇(四)注解方式关联查询[@One/@Many]

@One联查(一对一) 一个用户拥有一个所在公司信息。 User类 public class User { Integer id; String userName; String email; Company company; } Company类 public class Company { Integer id; String company...

Keyon的博客 1580

mybatis中@One和@many注解区别

在源码中@One和@many注解其实是并无区别的。 但是在日常使用中@One注解最多的还是用一对一,或者一对多,@Many注解最多使用的是多对一或者多对多,不过他们共同有一个方法FetchType fetchType() default FetchType.DEFAULT,源码中FetchType方法中有LAZY,EAGER,DEFAULT;三种类型,LAZY是延迟加载,EAGER是立即加载,DEFAULT是默认,默认规则是一对多立即加载,多对一是延迟加载。 当然当@one的返回结果为多条时,会报错的。可以

edvh358的博客 1127

Mybatis注解学习

mybatis常用注解配置

qq_37786581的博客 742
上一篇: Orika 使用方法
下一篇: 工作中某 java 项目中打印日志原则
who7708
博客等级 码龄16年 8粉丝 35原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值