<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>
$:直接参数替换,如果传入参数是字符串,那么解释后的sql不会自动加上单引号‘’
#:sql中参数会被解释成?,然后参数替换,会自动加上‘’,并且会过滤掉一些敏感词,所以建议在写sql都使用这个符号#来参数替换
本文介绍了一个MyBatis动态SQL的例子,展示了如何使用if标签进行条件判断以实现SQL查询语句的动态拼接,并对比了#和$符号在参数替换时的区别。
1185

被折叠的 条评论
为什么被折叠?



