MyBatis中Like模糊查询的几种写法和注意点

目录

  • 友情提醒
  • 第一章、Mybatis中SQL语句的模糊查询
    • 1.1)第一种方式:直接双引号拼接
    • 1.2)第二种方式:数据库为MySQL时用CONCAT()函数
    • 1.3)第三种方式:bind元素

友情提醒

先看文章目录,大致了解知识点结构,直接点击文章目录可以跳转到文章指定位置。

第一章、Mybatis中SQL语句的模糊查询

1.1)第一种方式:直接双引号拼接

注意:这里%需要使用双引号,不能使用单引号。因为#{···}解析成sql语句会在变量外侧自动加单引号’’

 <select id="findATMByName" parameterType="string" resultMap="baseMap">
         select id,name,code,money
        from atm
        where name like "%"#{Name}"%"
    </select>

1.2)第二种方式:数据库为MySQL时用CONCAT()函数

注意:MySQL的CONCAT()函数用于将多个字符串拼接成一个字符串。

 <select id="findATMByName" parameterType="string" resultMap="baseMap">
        select id,name,code,money
        from atm
        where name like concat("%",#{Name},"%")
    </select>

1.3)第三种方式:bind元素

注意:在bind标签中自定义拼接后,SQL语句将使用bind的name

<select id="findATMByName" parameterType="string" resultMap="baseMap">
        select id,name,code,money
        from atm
        <bind name="pattern" value="'%'+Name+'%'"></bind>
        where name like #{pattern}
    </select>

你可能感兴趣的:(数据库学习心得与问题记录,mybatis,开发语言,数据库)