mybatis动态SQL下进行模糊查询的几种方式,其中两个存疑

1.传参时进行%%的拼接,需要进行null判断,因为动态sql的if标签判断会由于%null%失效

 1  <select id="findByCondition02" parameterType="map" resultType="Brand">
 2         select * from tb_brand
 3         <where>
 4             <if test="status!=null">
 5                 status =#{status}
 6             </if>
 7             <if test="companyName!=null">
 8                2.拼接单引号 注意加空格
 9 
10                 and company_name like '%' #{companyName} '%'
11             </if>
12             <if test="brandName!=null">
13                3.拼接双引号
14                 and brand_name like "%"#{brandName}"%";
15             </if>
16         </where>
17     </select>

4.使用concat函数进行拼接

 

非常不推荐使用'%${}%'进行拼接,有SQL注入的风险

posted @ 2022-10-09 21:23  明月镇魂  阅读(131)  评论(0编辑  收藏  举报