首页 > 其他分享 >mybatis 递归查询

mybatis 递归查询

时间:2023-07-31 10:12:12浏览次数:29  
标签:String 递归 private 查询 mybatis id

java 实体

@Data
public class CodeTree{
    private Long id;
    private String pid;
    private String code;
    private String name;
    private List<CodeTree> children;
}

mapper 接口

// 根据 id 递归查询其子节点(不包含当前节点)
List<CodeTree> listByrecursion(Long id);

映射文件

<resultMap id="RecursionMap" type="com.ws.project.transfer.project.xin.wbs.entity.CodeTree">
    <id column="id" jdbcType="LONG" property="id" />
    <result column="parent_id" jdbcType="VARCHAR" property="pid" />
    <result column="code" jdbcType="VARCHAR" property="code" />
    <result column="name" jdbcType="VARCHAR" property="name" />
    <collection property="children" 
              ofType="com.ws.project.transfer.project.xin.wbs.entity.CodeTree" 
              column="id" 
              select="listByrecursion" />
</resultMap>

<select id="listByrecursion" resultMap="RecursionMap">
    SELECT <include refid="Base_Column_List" /> FROM T_CODE_TREE WHERE PID = #{id}
</select>

标签:String,递归,private,查询,mybatis,id
From: https://www.cnblogs.com/hangychn/p/17592695.html

相关文章

  • 4_多对多关联查询
    4_多对多关联查询根据项目编号查询项目信息,以及参与到该项目之中的所有的员工信息实体类@NoArgsConstructor@AllArgsConstructor@DatapublicclassProjectimplementsSerializable{privateIntegerpid;privateStringpname;privateIntegermoney;......
  • 1_MyBatis入门
    1_MyBatis入门原生JDBC实现CURD的问题1编码繁琐2需要我们自己将结果集映射成对象3性能不太好 连接池缓存4SQL语句和java代码的耦合度特别高5……MyBatis本是Apache的一个开源项目iBatis,2010年这个项目由ApacheSoftwareFoundation迁移到了GoogleCode,且改名......
  • 4_MyBatis传统DAO模式开发
    4_MyBatis传统DAO模式开发普通模式,也称为传统DAO模式,就是在传统DAO模式下,定义接口和实现类,如 interfaceEmpDao  classEmpDaoImplimplementsEmpDao.  在实现类中,用SQLSession对象调用selectinsertdeleteupdate 等方法实现.目前极为少见.在传统模式下,我们需要......
  • git:按照标签查询提交记录log日志
    gitlog可以查询提交历史,增加一些参数就可以对提交记录log日志进行过滤#查询标签`v1.0.0`之前提交的历史记录gitlogv1.0.0--pretty=format:"%s"#查询标签`v1.0.0`之后提交的历史记录gitlogv1.0.0..--pretty=format:"%s"--pretty=format:"%s"表示显示提交说明参考文章......
  • mysql 简单进阶 ———— 重构查询[二]
    前言简单整理一下重构查询。正文为什么我们需要重构查询,原因也很简单,那就是查询慢。为什么会查询慢?查询性能慢底下的最基本的原因是访问的数据太多。某些查询不可避免地需要筛选大量的数据,但这并不常见。大部分性能低下的查询都可以通过减少访问的数据流的方式进行优化。......
  • mybatisplus拓展
    1. 逻辑删除   94前面我们完成了基本的增删改查操作,但是对于删除操作来说,我们思考一个问题,在实际开发中我们真的会将数据完成从数据库中删除掉么?当然是不会的,这里我们举个例子:在电商网站中,我们会上架很多商品,这些商品下架以后,我们如果将这些商品从数据库中删除,那么在年底统计商......
  • mybatis用注解如何实现模糊查询
    在MyBatis中使用注解实现模糊查询非常简单,只需要在相应的SQL语句中使用like关键字即可。以下是实现模糊查询的示例代码:@Select("SELECT*FROMusersWHEREnameLIKE'%${keyword}%'")List<User>findUsersByName(@Param("keyword")Stringkeyword);上述代码用@Selec......
  • mybatis-puls的使用
    MyBatisPlus简介无侵入:只做增强不做改变,不会对现有工程产生影响强大的CRUD操作:内置通用的Mapper,少量配置即可实现CRUD操作支持Lambda:编写查询条件无需担心字段写错支持主键自动生成内置分页插件所需的依赖<dependency><groupId>com.baomidou</groupId><a......
  • 不启动SpringBootApplication 直接测试mybatis 下面xml中的sql
     测试类 privatestaticSqlSessionsqlSession=null;privatestaticRunoobTblMappermapper; @BeforeClasspublicstaticvoidsetUpMybatisDatabase()throwsIOException{InputStreamresourceAsStream=null;try{ClassLoaderclassLoader=R......
  • mybatis-puls的使用
    MyBatisPlus简介无侵入:只做增强不做改变,不会对现有工程产生影响强大的CRUD操作:内置通用的Mapper,少量配置即可实现CRUD操作支持Lambda:编写查询条件无需担心字段写错支持主键自动生成内置分页插件所需的依赖<dependency><groupId>com.baomidou</groupId><a......