mybatis编写模糊查询语句的方式

近期练手了一个整合spring+springmvc+mybatis的CRUD小项目,其中的搜索功能需要用到sql的模糊查询,根据以往传参给sql语句的方式,我就写成了

where bookName like '%#{name}%'

下面介绍几种写法:
写法一:使用CONCAT连接

where bookName like CONCAT('%',#{name},'%')

写法二:使用动态SQL元素bind(不常用)

<!--根据名字模糊查询-->
    <select id="selectbooklike" resultMap="BooksMap">
        <bind name="name_pattern" value="'%' + name + '%'"/>
        select
            bookID, bookName, bookCounts, detail
        from ssmbuild.books
        where bookName like #{name_pattern}
    </select>

写法三:使用双引号引住%

<!--根据名字模糊查询-->
    <select id="selectbooklike" resultMap="BooksMap">
        select
            bookID, bookName, bookCounts, detail
        from ssmbuild.books
        where bookName like "%"#{name}"%"
    </select>
posted @ 2021-08-16 13:43  XQ-Yang  阅读(175)  评论(0)    收藏  举报