两种根据关键字查询的方法SQL


1.

<if test="keyword!=null and keyword!=''">
AND (m.matnr LIKE concat('%',#{keyword,jdbcType=VARCHAR},'%')
OR m.maktx LIKE concat('%',#{keyword,jdbcType=VARCHAR},'%')
OR ub.barcode LIKE concat('%',#{keyword,jdbcType=VARCHAR},'%')
OR uc.barcode LIKE concat('%',#{keyword,jdbcType=VARCHAR},'%')
OR uf.barcode LIKE concat('%',#{keyword,jdbcType=VARCHAR},'%')
OR m.`type` LIKE concat('%',#{keyword,jdbcType=VARCHAR},'%')
OR t.`name` LIKE concat('%',#{keyword,jdbcType=VARCHAR},'%')
OR m.`kondm` LIKE concat('%',#{keyword,jdbcType=VARCHAR},'%')
OR b.`name` LIKE concat('%',#{keyword,jdbcType=VARCHAR},'%')
OR f.`row_id` LIKE concat('%',#{keyword,jdbcType=VARCHAR},'%')
OR f.`name` LIKE concat('%',#{keyword,jdbcType=VARCHAR},'%')
)
</if>

2.
<if test="pBrandName != null and pBrandName.trim() != ''">
<bind name="pBrandName" value="'%' + pBrandName + '%'"/>
and (bfb.name like #{pBrandName} or c.kondm like #{pBrandName} or TG.name like #{pBrandName})
</if>
bind 标签的两个属性都是必选项, name 为绑定到上下文的变量名, value 为 OGNL 表
达式。创建一个 bind 标签的变量后 , 就可以在下面直接使用,使用 bind 拼接字符串不仅可
以避免因更换数据库而修改 SQL,也能预防 SQL 注入。


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM