mybatis的association传递参数问题示例

软件发布|下载排行|最新软件

当前位置:首页IT学院IT技术

mybatis的association传递参数问题示例

wzkris   2022-12-13 我要评论

单个参数直接传即可,多参数传递如下

<resultMap id="stationVo" type="com.gt.dev.domain.vo.DevStationVO" extends="station">
        <result property="distance" column="distance"/>
        <association property="on" column="{stationId=id,state=on}"
                     select="com.gt.dev.mapper.DevInfoMapper.countByStationId"/>
        <association property="off" column="{stationId=id,state=off}"
                     select="com.gt.dev.mapper.DevInfoMapper.countByStationId"/>
        <association property="error" column="{stationId=id,state=error}"
                     select="com.gt.dev.mapper.DevInfoMapper.countByStationId"/>
    </resultMap>

mybatis的association标签传多个参数

mybatis联表查询的时候我们会用到association标签

一个参数的时候:

<association column="id" property="User" select="getUser"></association>

<select id="getUser" resultMap="UserMap" parameterType="java.lang.String">
    SELECT * FROM user_table WHERE id = #{id}
</select>

那多个参数的时候怎么搞呢,今天就遇到这个场景,记录一下:

association标签里面的column以对象的形式传过去,接收的时候把parameterType改为
其中 id 和 name 是对应你表的字段,两个 param 名字随便定义

<association column="{param1=id,param2=name}" property="User" select="getUser"></association>

<select id="getUser" resultMap="UserMap" parameterType="java.util.Map">
    SELECT * FROM user_table WHERE id = #{param1} and name = #{param2}
</select>

Copyright 2022 版权所有 软件发布 访问手机版

声明:所有软件和文章来自软件开发商或者作者 如有异议 请与本站联系 联系我们