亲宝软件园·资讯

展开

mybatis的association传递参数问题示例

wzkris 人气:0

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

<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>

加载全部内容

相关教程
猜你喜欢
用户评论