1
nofaith OP 麻烦熟悉 Mybatis 的人不吝赐教下,谢谢
|
2
wysnylc 2020-09-08 10:48:21 +08:00 2
最终的答案就是不在 ORM 层或者说数据库做操作而是查询出来后使用代码拼接,其他的数据库或者 ORM 骚操作到了要扩展更新的时候你就会狠狠地给自己一巴掌
|
3
NPC666 2020-09-08 11:27:54 +08:00 1
<resultMap id="TreeNodeResultMap" type="xxx.xxx.TreeNode" >
<id column="id" property="id"/> <result column="label" property="label"/> <result column="parent_id" property="parentId"/> <association property="children" select="getTreeNodeByParentId" column="id" fetchType="eager"> </association> </resultMap> <select id="getTreeNode" resultMap="TreeNodeResultMap"> SELECT * FROM `s_tree` WHERE id = #{id} </select> <select id="getTreeNodeByParentId" parameterType="long" resultType="java.util.List"> SELECT * FROM `s_tree` WHERE parent_id = #{parentId} </select> 大概是这样?不过没办法让 children 里面的 TreeNode.children 进行查询,那种复杂操作不应当在 orm 层进行。 |
4
0xC000009F 2020-09-08 11:31:51 +08:00 1
查询结果实体类中嵌套 List 需要在 xml 中定义 collection 。
https://www.cnblogs.com/iwenwen/p/11082972.html 但你这种又有些不太一样,因为层级不确定。应该先查出所有一级,然后通过递归查找所有的子节点。 |