xml代码。

    1. <?xml version="1.0" encoding="UTF-8"?>
    2. <!DOCTYPE mapper
    3. PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
    4. "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
    5. <mapper namespace="com.wellcloud.scriptmakerserver.mapper.FunctionMapper">
    6. <resultMap id="FunctionTreeMap" type="com.wellcloud.scriptmakerserver.model.vo.FunctionVo">
    7. <id property="id" column="id"/>
    8. <result property="modules" column="modules"/>
    9. <result property="optionalFunction" column="optional_function"/>
    10. <result property="seqFunction" column="seq_function"/>
    11. <result property="repFunction" column="rep_function"/>
    12. <result property="routeFunction" column="route_function"/>
    13. <result property="variables" column="variables"/>
    14. <result property="name" column="name"/>
    15. <result property="priority" column="priority"/>
    16. <result property="description" column="description"/>
    17. <result property="parentId" column="parent_id"/>
    18. <collection property="children" column="id" select="queryChildren"/>
    19. </resultMap>
    20. <select id="queryAllFunctions" resultMap="FunctionTreeMap">
    21. select
    22. *
    23. from functions where parent_id=0
    24. </select>
    25. <select id="queryChildren" resultMap="FunctionTreeMap">
    26. SELECT
    27. *
    28. from functions where parent_id = #{id}
    29. </select>
    30. </mapper>

    代码逻辑非常清晰简单,就不放model类的代码了,如有需要可以参考原例。

    https://www.cnblogs.com/lgjava/p/13821653.html