MyBatis Plus中可以使用递归查询来实现抽取某一条数据的所有父数据和子数据。首先,在Mapper文件中需要编写两个方法,一个是查询父数据的方法,一个是查询子数据的方法。然后可以使用MyBatis Plus中的注解 @SqlParser(filter = true) 来解决递归调用时的死循环问题。
例如:
Mapper文件中的方法:
@SqlParser(filter = true)
@Select("select * from t_table where id = #{id}")
Table selectById(Long id);
@SqlParser(filter = true)
@Select("select * from t_table where parent_id = #{id}")
List<Table> selectByParentId(Long id);