mybatis传递参数$和#区别

<select id="selectByMap" parameterType="java.util.Map" resultMap="BaseResultMap">

  select * from com_position where 1=1

  <if test="posiZw!=null and posiZw!=''">

AND posi_zw = #{posiZw,jdbcType=INTEGER}

</if>

<if test="posiShip!=null and posiShip!=''">

AND posi_ship = ${posiShip}

</if>

order by pub_time desc

  </select>

扫描二维码关注公众号,回复: 353313 查看本文章

$:直接参数替换,如果传入参数是字符串,那么解释后的sql不会自动加上单引号‘’

#:sql中参数会被解释成?,然后参数替换,会自动加上‘’,并且会过滤掉一些敏感词,所以建议在写sql都使用这个符号#来参数替换

猜你喜欢

转载自strongant.iteye.com/blog/2312258