Mybatis传入参数类型为Map

参考:

https://www.cnblogs.com/seeusmile-cnblog/p/6221340.html

https://www.cnblogs.com/huzi007/p/5969711.html

方式一:

mybatis更新sql语句:

<update id="publishT00_notice" parameterType="Map">
update test  
set createdate = #{createdate},
creator = #{creator}
where id in 
<foreach collection="ids" item="ids" separator="," open="(" close=")">
#{ids}
</foreach>
</update>

传入map参数类型:

HashMap<String,Object> map = new HashMap<String, Object>();
map.put("creator", "creator");
map.put("createdate", "createdate");

String[] ids = {"1","2"};
map.put("ids", ids );

方式二:

第一步在你的mapper写上:

 List<WeixinUserLocationList> findweixinUserLocations(@Param("params") Map<String, Object> map);

注意就是注解@param 这个,是mybatis的

然后在xml中这样写:

<if test="params.accountId!=null">
            and a.accountid=#{params.accountId}
        </if>
        <if test="params.nickname!=null and params.nickname !=''">
            and a.nickname like '%${params.nickname}%'
        </if>
        <if test="params.beginDate!=null and params.beginDate!=''">
            and date_format(a.createtime,'%Y-%m-%d')>=${params.beginDate}
        </if>
        <if test="params.endDate!=null and params.endDate!=''">
        <![CDATA[    and date_format(a.createtime,'%Y-%m-%d')<=${params.endDate}  ]]>     
        </if>
${params.nickname}这种写法参数默认是传字符串,
#{params.accountId}可以取Long,Integer之类的。

展开阅读全文

没有更多推荐了,返回首页