3 回答

TA貢獻(xiàn)1111條經(jīng)驗(yàn) 獲得超0個(gè)贊
使用@Param注解
1 | List<Person> query( @Param ( "query" ) PersonQuery query, @Param ( "offset" ) int offset, @Param ( "rows" ) int rows); |
mapper中sql使用#{參數(shù)名}獲取參數(shù)。#{query.a}是取PersonQuery對象里的a字段的值
12345 | < select id = "query" resultMap = "result" > SELECT * FROM XXX WHERE A=#{query.a} AND B=#{query.b} LIMIT #{offset},#{rows} </ select > |

TA貢獻(xiàn)1934條經(jīng)驗(yàn) 獲得超2個(gè)贊
mybatis支持foreach語句,
語法大致如下:
<update id="batchUpdate">
update tblsupertitleresult
<trim prefix="set" suffixOverrides=",">
<trim prefix="checkState =case" suffix="end,">
<foreach collection="list" item="i" index="index">
<if test="i.checkState!=null">
when (userHhCode=#{i.userHhCode} and titleId=#{i.titleId}) then #{i.checkState}
</if>
</foreach>
</trim>
<trim prefix=" correctDate =case" suffix="end,">
<foreach collection="list" item="i" index="index">
<if test="i.correctDate!=null">
when (userHhCode=#{i.userHhCode} and titleId=#{i.titleId}) then #{i.correctDate}
</if>
</foreach>
</trim>
<trim prefix="result =case" suffix="end," >
<foreach collection="list"item="i" index="index">
<if test="i.result!=null">
when (userHhCode=#{i.userHhCode} and titleId=#{i.titleId}) then #{i.result}
</if>
</foreach>
</trim>
</trim>
where
<foreach collection="list" separator="or"item="i" index="index" >
(userHhCode =#{i.userHhCode} andtitleId=#{i.titleId})
</foreach>
</update>
添加回答
舉報(bào)