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

摘要:
注意:在处理复合键时,可以使用column=“{prop1=col1,prop2=col2}”等语法来设置要传递到嵌套查询语句中的多个列名。这将把prop1和prop2设置为目标嵌套选择语句的参数对象--结果字段必须存在于数据库和pojo中--˃select*,将找不到IFNULLasparamsfromds_system_menuwherepId=#{id}andparam=#{param}orderbyrank以上描述

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 resultMap="tree_map">
select *, IFNULL(#{forbidden},'') as params from table_name where 1=1
order by rank
</select>

<!-- 3.查询子 -->
<select 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>

  对以上的说明

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

免责声明:文章转载自《mybatis父查询值嵌套传递/column传入多个参数值197》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Fiddler抓取https请求,解决“证书错误”警告Cocos2d-x之物理世界(创建静态的物体)下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

select模型(一 改进客户端)

一、改程序使用select来改进客户端对标准输入和套接字输入的处理,否则关闭服务器之后循环中的内容都要被gets阻塞。原程序中https://www.cnblogs.com/wsw-seu/p/8413290.html,若服务器端先关闭发送FIN,客户端处于CLOSE WAIT状态,服务端到FIN_WAIT2。由于程序阻塞在fgets,因此无法到readl...

SqlServer动态执行SQL语句sp_executesql、Exec

sp_executesql语法 sp_executesql[@stmt=]stmt[{,[@params=]N'@parameter_name data_type[,...n]'}{,[@param1=]'value1'[,...n] }] 参数 [@stmt=]stmt 包含 Transact-SQL 语句或批处理的 Unicode 字符串,stmt必...

使用mybatis出现异常:invalid comparison: java.time.LocalDateTime and java.lang.String

整了半天终于找到问题所在:在mapper文件中,对该参数进行了和字符串的对比,如下: <if test="startTime != null and startTime != '' and endTime != null and endTime != ''"> AND createTime BETWEEN #{startTime} A...

tp5 中 model 的查询方法

实例化模型后调用查询方法,可以写任何想要的查询(推荐) public function select(){ $user = model('User'); $data = $user -> where('status',1) ->limit(10) ->...

数据库中增加操作insert into的用法和查询select的用法

insert into的用法 1.一条insert into 可以插入多条记录 2.insert into 能判断主键是否冲突,和做出冲突处理 如果主键冲突的话会报错,还能写成如果冲突就更新的形式格式为 : insert into 表名 (字段列表) values (字段值列表) on duplicate key update 字段=值,字段=值(列表...

sqlserver日期函数 dateadd,datediff ,datepart ,datename,convert

reference:http://www.cnblogs.com/coconut_zhang/archive/2009/02/02/1382598.html http://blog.itpub.net/14766526/viewspace-1156100/ select GETDATE() as '当前日期',DateName(year,GetDate()...