MyBatis中like的两种写法

简介: MyBatis中like的两种写法
MyBatis中like有两种写法,但是优劣并不明显,都可以选用

MyBatis中两种实现方式:

  • concat
  • bind

在开发中比较常见的写法就是使用concat示例如下

concat

List<SysUserPo> selectByUser2(SysUserPo sysUserPo);

<select id="selectByUser2" resultType="com.echo.springmybatis.model.SysUserPo">
    select
    id, user_name userName, user_password userPassword,
    user_email userEmail, user_info userInfo, head_img headImg,
    create_time createTime
    from sys_user
    <where>
        <if test="userName != null and userName != ''">
            and user_name like concat('%', #{userName}, '%')
        </if>
        <if test="userEmail !='' and userEmail != null">
            and user_email = #{userEmail}
        </if>
    </where>
</select>
可以从实例中看到concat拼接可以用多个参数,直接使用concat('%', #{userName}, '%')

使用bind实现like关键字的拼接

bind

List<SysUserPo> selectByUser3(SysUserPo sysUserPo);

<select id="selectByUser3" resultType="com.echo.springmybatis.model.SysUserPo">
    select
    id, user_name userName, user_password userPassword,
    user_email userEmail, user_info userInfo, head_img headImg,
    create_time createTime
    from sys_user
    <where>
        <if test="userName != null and userName != ''">
            <bind name="userName" value="'%' + userName + '%'"/>
            and user_name like concat('%', #{userName}, '%')
        </if>
        <if test="userEmail !='' and userEmail != null">
            and user_email = #{userEmail}
        </if>
    </where>
</select>
bind拼接类似于直接使用string凭借,使用的是“”进行的拼接。
目录
相关文章
|
SQL XML Java
Mybatis:SQL注入问题 like模糊查询 多表查询 动态SQL
Mybatis:SQL注入问题 like模糊查询 多表查询 动态SQL
1133 0
|
Java 数据库连接 mybatis
『MyBatis』MyBatis实现模糊查询Like
📣读完这篇文章里你能收获到 - Mybatis使用Like实现模糊查询
295 0
『MyBatis』MyBatis实现模糊查询Like
|
Java 关系型数据库 MySQL
MyBatis模糊查询like的三种方式
MyBatis模糊查询like的三种方式
105 0
|
6月前
|
Java 数据库连接 mybatis
Mybatis中模糊查询like语句的使用方法
Mybatis中模糊查询like语句的使用方法
69 0
|
SQL Java 数据库连接
mybatis 模糊查询 like 语句该怎么写?
mybatis 模糊查询 like 语句该怎么写?
1023 1
|
SQL XML Java
mybatis-plus 简介、安装、配置(1)【just Like】
mybatis-plus 简介、安装、配置(1)【just Like】
246 0
mybatis-plus 简介、安装、配置(1)【just Like】
|
SQL Java 关系型数据库
MyBatis——封装MyBatis的输出结果(resultType、resultMap)、使用like进行模糊查询的两种方式
MyBatis——封装MyBatis的输出结果(resultType、resultMap)、使用like进行模糊查询的两种方式
MyBatis——封装MyBatis的输出结果(resultType、resultMap)、使用like进行模糊查询的两种方式
|
Java 数据库连接 mybatis
Mybatis 模糊查询 LIKE 使用方式
Mybatis 模糊查询 LIKE 使用方式
145 0
Mybatis 模糊查询 LIKE 使用方式
|
Java 数据库
Java神鬼莫测之MyBatis--各类数据库like字段使用方式(一)
Java神鬼莫测之MyBatis--各类数据库like字段使用方式(一)
181 0
|
SQL Oracle 关系型数据库
Mybatis中oracle、mysql、db2、sql server的like模糊查询
Mybatis中oracle、mysql、db2、sql server的like模糊查询
405 0