mybatis父查询值嵌套传递/column传入多个参数值197

mybatis中collection的column传入多个参数值(使用父查询的映射值)


propertydescription
column 数据库的列名或者列标签别名。与传递给resultSet.getString(columnName)的参数名称相同。注意: 在处理组合键时,您可以使用column=“{prop1=col1,prop2=col2}”这样的语法,设置多个列名传入到嵌套查询语句。这就会把prop1和prop2设置到目标嵌套选择语句的参数对象中。


<!-- 2. -->
<resultMap type="com.Pojo" id="tree_map">
<id column="id" property="id"></id>
  <!-- result字段是数据库(可以是as的字段)和pojo中必须存在的 -->
<result column="数据库字段" property="实体类字段" javaType="类型"></result>
<collection property="pojo字段" ofType="com.ChildrenPojo(pojo实体类)"
column="{id=id,param=params}"
javaType="java.util.List" select="selectMenuChildren"></collection>
</resultMap>

<!-- 1.查询树入口 -->
<select id="selTree" resultMap="tree_map">
select *, IFNULL(#{forbidden},'') as params from table_name where 1=1
order by rank
</select>

<!-- 3.查询子 -->
<select id="selChildren" resultMap="tree_map">
<!-- 注意这里的params字段是必须的,否则会找不到params -->
select *, IFNULL(#{forbidden},'') as params from ds_system_menu where pId=#{id}
<if test='param != null and param != "" '>
and param = #{param}
</if>
order by rank
</select>

  对以上的说明

 

原文地址:https://www.cnblogs.com/Ai-Hen-Jiao-zhi/p/11997126.html