阅读量:0
- 使用if元素进行条件判断 在需要根据不同条件动态生成SQL语句时,可以使用if元素进行条件判断。例如:
<select id="selectUser" parameterType="map" resultType="User"> SELECT * FROM user <where> <if test="username != null"> AND username = #{username} </if> <if test="age != null"> AND age = #{age} </if> </where> </select>
- 使用choose元素进行条件选择 当有多个条件需要选择时,可以使用choose元素进行条件选择。例如:
<select id="selectUser" parameterType="map" resultType="User"> SELECT * FROM user <where> <choose> <when test="username != null"> AND username = #{username} </when> <when test="age != null"> AND age = #{age} </when> <otherwise> AND gender = 'male' </otherwise> </choose> </where> </select>
- 使用foreach元素进行循环处理 当需要根据一个集合动态生成SQL语句时,可以使用foreach元素进行循环处理。例如:
<select id="selectUsers" parameterType="map" resultType="User"> SELECT * FROM user WHERE id IN <foreach item="id" collection="ids" open="(" separator="," close=")"> #{id} </foreach> </select>
以上是一些常用的mybatis dynamic配置技巧,可以根据具体需求灵活运用。通过合理使用动态SQL功能,可以提高SQL语句的复用性和效率。