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

avatar
作者
筋斗云
阅读量:0

在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操作的条件组合。

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!