MyBatis的动态SQL是一种通过条件判断来动态生成SQL语句的方式,可以根据不同的条件生成不同的SQL语句,从而实现动态查询。下面是使用MyBatis的动态SQL的一些常用方法:
IF语句:可以通过<select id="getUserList" 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>CHOOSE语句:可以通过<select id="getUserList" 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 gender = #{gender} </otherwise> </choose> </where></select>TRIM语句:可以通过<select id="getUserList" parameterType="map" resultType="User"> SELECT * FROM user <where> <trim prefix="AND" prefixOverrides="AND"> <if test="name != null"> AND name = #{name} </if> <if test="age != null"> AND age = #{age} </if> </trim> </where></select>FOREACH语句:可以通过<select id="getUserList" parameterType="map" resultType="User"> SELECT * FROM user WHERE id IN <foreach collection="ids" item="id" open="(" close=")" separator=","> #{id} </foreach></select>通过以上方法,可以灵活地根据条件生成不同的SQL语句,实现动态查询功能。更多关于MyBatis动态SQL的用法和示例可以参考MyBatis官方文档。




