mybatis

MyBatis的like操作的条件组合如何实现

小樊
205
2024-08-14 16:06:37
栏目: 编程语言

在MyBatis中,可以使用动态SQL来实现like操作的条件组合。下面是一个示例:

假设有一个User表,包含字段id、name和age,现在需要根据name和age进行模糊查询。可以编写一个Mapper接口方法如下:

List<User> findUsersByCondition(@Param("name") String name, @Param("age") Integer age);

然后在对应的Mapper.xml文件中,使用动态SQL来拼接like条件:

<select id="findUsersByCondition" parameterType="map" resultType="User">
    SELECT * FROM user
    <where>
        <if test="name != null and name != ''">
            AND name LIKE CONCAT('%', #{name}, '%')
        </if>
        <if test="age != null">
            AND age = #{age}
        </if>
    </where>
</select>

在上面的示例中,使用了动态SQL中的标签来判断条件是否成立,如果name不为空,则拼接name字段的模糊查询条件;如果age不为空,则拼接age字段的精确查询条件。

这样就可以根据传入的参数动态拼接like操作的条件组合。

0
看了该问题的人还看了