MySql、Oracle(通用方法)递归查询生成文件目录树(JAVA实现 递归过程中不访问数据库,递归之前只访问一次 进行递归前数据准备)

本文介绍了如何使用Java实现对MySQL和Oracle数据库的递归查询,以生成文件目录树。在递归过程中,仅在开始时访问一次数据库,用于准备递归所需数据,之后的递归步骤不再访问数据库。
摘要由CSDN通过智能技术生成

查询文件树

实体类

public class TradeInfoFile {
​
    // 文件编码(子)
    private String fileCode;
    // 所属文件编码(父)
    private String belongFileCode;
    // 交易信息编码
    private String finTradeCode;
    // 是否是文件夹
    private Boolean isDirFlag;
    //最后修改时间
    private Date lastModifyTime;
    private String fmtLastModifyTime;
    /*
      children属性不与数据库中TRADER_INFO_FILE标建立映射关系
    */
    @Transient
    private List<TradeInfoFile> children;
    //省略set/get方法.......................

    // 创建文件根节点
    public static TradeInfoFile createRoot(List<TradeInfoFile> fileTree) {
      TradeInfoFile root = new TradeInfoFile();
      root.setFileCode("-1");
      root.setBelongFileCode("根节点");
      root.setChildren(fileTree);
      return root;
    }
}

 

Controller层

@RestController
@RequestMapping("/trade-file")
public class TradeInfoController {
​
    @Autowired
    private TradeInfoService tradeInfoService;
    
    // 查询文件树,一个交易信息编码可以对应多个文件和文件夹
    @GetMapping(value = "/{id}/file-tree") // 交易信息编码
    public TradeInfoFile getFileTree(@RequestParam(name = "id") String finTradeCode) {
        return tradeInfoS
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值