gpt4 book ai didi

java - MyBatis - 映射树数据结构

转载 作者:行者123 更新时间:2023-12-01 05:08:51 24 4
gpt4 key购买 nike

如何映射表 id | parent_id | name到我的 pojo 类:

public class Node {
private Integer id;
private Integer parentId;
private String name;
private List<Node> children;
//getters and setters
}

我想获取带有填充子列表的根节点列表(parent_id=null)。树深度没有限制。我在想这样的事情:

<resultMap id="nodeResult" type="Node">
<id property="id" column="id"/>
<result property="parentId" column="parent_id"/>
<result property="name" column="name"/>
<collection property="children" resultMap="nodeResult"/>
</resultMap>
<select id="selectNode" resultMap="nodeResult">
SELECT * FROM NODE
</select>

我不知道在哪里对子列表进行限制:id=parentId。我不想使用嵌套选择

最佳答案

没有办法让任意深度的树自动填充到 ResultMap 中。

数据库特定的解决方案是一种选择吗?例如,使用 PostgreSQL,您可以使用通用表表达式将数据选择到可能适用于映射到树中的结果集中。

否则,您应该更改 ResultMap 中的集合定义,使其指向选择子项的查询,这样可以重用相同的结果映射来获取递归行为

关于java - MyBatis - 映射树数据结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12318680/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com