这里举一MySQL中模糊查询例子:

select count(*) from `movie` where gids like concat('%',1,'%');

上面指令用于查询movie表中gids字段带有1的行数

在Mybatis中如何拼接这种模糊查询字符串呢?

首先看下mapper接口中定义的方法:

    /**
     * 根据模糊条件查询电影数量
     * @param gids 模糊搜索条件
     * @return
     */
    long getCountByGenre(@Param("gids")String gids);

那么再看下MovieMapper.xml中关于该条查询语句的模糊查询:

方式①

    <select id="getCountByGenre" resultType="long">
        <!--使用concat构造模糊查询条件-->
        select count(*) from `movie` where gids like concat('%',#{gids},'%');
    </select>

方式②

    <select id="getCountByGenre" resultType="long">
        <!--绑定模糊查询条件-->
        <bind name="vague_gids" value="'%'+gids+'%'"/>
        select count(*) from `movie` where gids like #{vague_gids};
    </select>

 

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐