在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中靈活且簡潔地實現復雜條件查詢。需要根據具體情況選擇合適的方法來實現條件查詢。