mybatis不写where 1=1

发布时间:2025-09-17 00:31

你知道为什么99%的人都不知道1+1=2吗?因为剩下那1%在看手机。 #生活乐趣# #幽默笑话#

最新推荐文章于 2025-07-15 18:52:58 发布

原创 于 2019-09-05 16:08:58 发布 · 1.2k 阅读

· 2

· 0 ·

CC 4.0 BY-SA版权

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

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;可以把包含内容的首部某些内容覆盖,即忽略,也可以把尾部的某些内容覆盖,对应的属性是prefixOverrides和suffixOverrides;正因为trim有这样的功能,所以我们也可以非常简单的利用trim来代替where元素的功能

<select id="findBookTypeListByExample" parameterType="BookType"
resultMap

网址:mybatis不写where 1=1 https://www.yuejiaxmz.com/news/view/1305234

相关内容

where 1 = 0或者 1 =1 意义何在?
where 1=1影响效率以及having和where的区别
select * from library.user where status=1; li
Mybatis
mybatis中的不起作用
面试官问:源码中常见的 where 1=1 是一种高级优化技巧?
【Mybatis】Result type doesn‘t match for Select id=“xxx“
MyBatis动态拼接sql,statementType=“STATEMENT”使用
mybatis include refid='Base
mybatis中xml文件的核心

随便看看