【MyBatis】 动态SQL——模糊查询 LIKE

【MyBatis】 动态SQL——模糊查询 LIKE一、like’%?%’SELECT*FROMt_usrWHEREnamelike’%${name}%’SQL解析为:SELECT*FROMt_usrWHEREnamelike’%海%’传参必须用${}不能用#{},这样写的弊端是不安全,不能防sql注入有关LIKE使用,请参见:https://blog.csdn.net/wrs120/articl…

大家好,又见面了,我是你们的朋友全栈君。

一、like ‘%?%’

SELECT  * 
FROM t_usr 
WHERE  name like '%${name}%'

SQL解析为:SELECT * FROM t_usr WHERE name like ‘%海%’
传参必须用${}不能用#{},这样写的弊端是不安全,不能防sql注入
有关LIKE使用,请参见:https://blog.csdn.net/wrs120/article/details/7930582

二、CONCAT()拼接%

SELECT  * 
 FROM t_usr  
 WHERE name like CONCAT('%',CONCAT(#{name},'%'))

SQL解析为:SELECT * FROM t_usr WHERE name like CONCAT(‘%’,CONCAT(?,’%’))
拼接时%必须加引号
有关CONCAT()使用,请参见:https://blog.csdn.net/wrs120/article/details/81148101

三、bind

bind 元素可以从 OGNL 表达式中创建一个变量并将其绑定到上下文。OGNL(Object Graph Navigation Language的缩写)是一种强大的表达式语言,更多用法,见:https://blog.csdn.net/isea533/article/details/50061705/

  SELECT  *  
  FROM t_usr 
  WHERE
      <if test="name !=null || name !=''">
          <bind name="usrName" value="'%' + name + '%'"/>
          name like #{usrName}
      </if>

SQL解析为:SELECT * FROM t_usr WHERE name like ?

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/140022.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • 成功的测试通常是运行测试用例后_成功的测试是指运行测试用例后

    成功的测试通常是运行测试用例后_成功的测试是指运行测试用例后前言用过pytest的小伙伴都知道,pytest的运行方式是非常丰富的,可以说是你想怎么运行怎么运行,想运行哪些运行哪些,那httprunner是否同样可以呢?运行用例的各种方式运行指定路径的用

  • Linux下tar解压到当前目录,zip压缩,tar压缩,tar解压[通俗易懂]

    Linux下tar解压到当前目录,zip压缩,tar压缩,tar解压[通俗易懂]很多时候我们需要把文件解压到当前目录,命令如下:tar-zxvfvscode-server-linux-x64.tar.gz-C./有时候很讨厌,因为tar.gz的包里就存在一个与压缩包同名的目录,这种情况的话需要先解压,再拷贝:tar-zxvfvscode-server-linux-x64.tar.gz-C./mvvscode-server-linux-x64/*….

  • java mediatype属性_Java 如何获得文件的 Media Type「建议收藏」

    java mediatype属性_Java 如何获得文件的 Media Type「建议收藏」一般来说你可以使用ApacheTika来获得文件的类型。Tika是一个内容分析工具Maven设置maven的版本到你的POM文件中。org.apache.tikatika-core1.25测试代码例如,我们可以使用下面的测试代码。@TestpublicvoidwhenUsingTika_thenSuccess(){Filefile=newFile(“product.pn…

  • 在pycharm里面对文件夹或者文件进行重命名的一种方法「建议收藏」

    在pycharm里面对文件夹或者文件进行重命名的一种方法「建议收藏」因为你要进行重命名的文件有可能当前被引用着,你修改之后,原本可以跑通的程序有可能跑不通了。所以重命名输入重构(Refactor)的内容,所以在project选项卡中,选中文件或者文件名称,右键选择Refactor,再选择Rename即可。如图所示:随后会弹出 第一个是查找是不是有代码应用了它,第二个复选框含义是是否在注释和字符串中查找这个名称。有时候你需要修改重命名文件的相关引…

  • mt4交易系统源码_如何将源码加载到mt4里面

    mt4交易系统源码_如何将源码加载到mt4里面1、打开编辑器:第二步,新建一个指标或者eaqml4文件.第三步创建一个ea文件:点击下一步:命名,aaa,点击下一步:全部不打勾,点击下一步:全部不打勾,点击完成:然后全部选中,删除代码:然后选中源码,复制到aaa里面,然后点击编写:就可以在ea里面找到你复制的ea了。指标的源码跟ea的一样,只需要建立一个指标文件,然后复制进去就可以了。如果觉得文章对你有帮助,可以关注公众号,谢谢您…

  • CentOS6.5安装Python 2.7.10「建议收藏」

    CentOS6.5安装Python 2.7.10「建议收藏」HowtoinstallpythoninterpreteronCentOS6.5

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号