• MyBatis 递归案例


    id:命名空间唯一标识,可以被用来引用这条语句

    column:数据库表名的字段名称,也可以是sql语句As后命名的名称

    property:实体类中定义的对象的名称

    parameterType:将会传入这条语句的参数类的完全限定名或者别名

    resultType:从这条语句要返回的期望类型的类的完全限定名或别名(这里注意下集合类型,应该是集合可以包含的类型,不能是集合本身),重要:使用resultType或resultMap,但不能同时使用。

    resultMap:命名引用外部的resultMap,其名称要和外部的resultMap元素的ID名称一致,用于映射其结果到实体类指定对象中。


    单个参数的递归查询:

    1. <resultMap id="treeCatByAncestry" type="com.lc.mono.module.camas.controller.admin.assetsManagement.vo.ComponentDistributeResVO">
    2. <id column="id" property="id">id>
    3. <result column="title" property="name">result>
    4. <collection property="child" column="{id=id}" ofType="com.lc.mono.module.camas.controller.admin.assetsManagement.vo.ComponentDistributeResVO" select="getTreeCatByAncestry">collection>
    5. resultMap>
    6. <select id="getTreeCatByAncestry" resultMap="treeCatByAncestry">
    7. SELECT
    8. id, title
    9. FROM camas_finger_categories WHERE ancestry = #{id} AND published = 1
    10. select>

    多个参数的递归查询:

    1. <resultMap id="treeProvinces" type="com.mono.module.camas.controller.admin.sys.provinces.vo.CamasSysProvincesResVo">
    2. <id column="id" property="id"/>
    3. <result column="name" property="name"/>
    4. <result column="parent_id" property="parentId"/>
    5. <result column="type" property="type"/>
    6. <result column="remark" property="remark"/>
    7. <collection property="child" column="{parentId=id,deleted=deleted}" ofType="com.mono.module.camas.controller.admin.sys.provinces.vo.CamasSysProvincesResVo"
    8. select="getTreeProvinces"/>
    9. resultMap>
    10. <select id="getTreeProvinces" parameterType="Map" resultMap="treeProvinces">
    11. SELECT
    12. <include refid="Base_Column_List">include>
    13. FROM camas_sys_provinces WHERE parent_id = #{parentId} AND deleted = #{deleted}
    14. select>

    注意:

    1、parameterType 一定要是 java.util.Map

    2、column="{task_item_id=task_item_id,userId=userId}"
    这个地方参数一定要以{key1=value1,key2=value2} 的形式,

    如果直接写成{value1,value2}.则会出现不查询的问题。

  • 相关阅读:
    Arduino与Proteus仿真实例-密码门禁控制仿真
    QT-地形3D
    shell脚本获取文件中的版权(Copyright)
    NVIDIA Jetson Linux 35.1 “Camera” issues
    详解 OpenDAL |Data Infra 研究社第三期
    五三想休息,今天还学习,图解二叉树的层序遍历BFS(广度优先)模板,附面试题题解
    基于jeecgboot流程设计器里增加预览xml功能
    【C++】友元函数 ( 友元函数简介 | 友元函数声明 | 友元函数语法 | 友元函数声明不受访问控制限制 | 友元函数参数要求 )
    numpy教程:Universal Functions 通用函数 伪随机数
    BasicDAO
  • 原文地址:https://blog.csdn.net/inexaustible/article/details/126029450