在MyBatis中,可以通过使用动态SQL来实现复杂条件查询。动态SQL允许在SQL语句中根据条件动态添加或移除条件,从而实现灵活的条件查询。
以下是一些常见的复杂条件查询实现方法:
<select id="selectByCondition" parameterType="map" resultType="User"> SELECT * FROM user <where> <if test="name != null"> AND name = #{name} </if> <if test="age != null"> AND age = #{age} </if> </where> </select> <select id="selectByCondition" parameterType="map" resultType="User"> SELECT * FROM user <where> <choose> <when test="name != null"> AND name = #{name} </when> <when test="age != null"> AND age = #{age} </when> <otherwise> AND 1=1 </otherwise> </choose> </where> </select> <select id="selectByCondition" parameterType="map" resultType="User"> SELECT * FROM user <where> <trim prefix="AND" prefixOverrides="AND"> <if test="name != null"> name = #{name} </if> <if test="age != null"> AND age = #{age} </if> </trim> </where> </select> 通过以上方法,可以实现在MyBatis中灵活且简洁地实现复杂条件查询。需要根据具体情况选择合适的方法来实现条件查询。