1、查询实例讲解
1-1、有where1=1的查询实例
<select id="findBookTypeListByExample" parameterType="BookType"
resultMap="BookType">
SELECT
BOOK_TYPE_CODE, BOOK_TYPE_NAME, DISCOUNT
FROM ASSETS_BOOK_TYPE
WHERE 1=1
<if test="BookTypeCode!=null">
AND BOOK_TYPE_CODE = #{BookTypeCode,jdbcType=VARCHAR}
</if>
<if test="BookTypeName!=null">
AND BOOK_TYPE_NAME = #{BookTypeName,jdbcType=VARCHAR}
</if>
<if test="Discount!=null">
AND DISCOUNT = #{Discount,jdbcType=DECIMAL}
</if>
</select>
我们都知道,where 1=1 会造成sql注入,所以尽量避免使用。
1-2、改写后的查询实例
trim元素的主要功能是可以在自己包含的内容前加上某些前缀,也可以在其后加上某些后缀,与之对应的属性是prefix和suffix;可以把包含内容的首部某些内容覆盖,即忽略