在 MyBatis 中,可以使用 select 元素和 where 元素来实现多条件查询。
例如,假设要查询一个表中满足多个条件的记录,可以使用如下 SQL 语句:
SELECT * FROM table_nameWHERE condition1 = value1AND condition2 = value2AND condition3 = value3;在 MyBatis 中,可以使用如下方式实现多条件查询:
<select id="selectByConditions" parameterType="map" resultType="com.example.model.Entity"> SELECT * FROM table_name <where> <if test="condition1 != null"> AND condition1 = #{condition1} </if> <if test="condition2 != null"> AND condition2 = #{condition2} </if> <if test="condition3 != null"> AND condition3 = #{condition3} </if> </where></select>在上面的示例中,selectByConditions 是查询的 ID,parameterType 指定参数类型为 map,resultType 指定返回结果类型为 com.example.model.Entity。<where> 元素内部使用 <if> 元素根据条件动态拼接 SQL 语句。当条件不为 null 时,拼接对应的条件语句。
调用该方法时,可以传入一个 Map 对象,其中包含多个条件的键值对,例如:
Map<String, Object> params = new HashMap<>();params.put("condition1", value1);params.put("condition2", value2);params.put("condition3", value3);List<Entity> result = sqlSession.selectList("selectByConditions", params);这样就可以根据传入的条件动态构建 SQL 查询语句,实现多条件查询。


