mybatis动态SQL标签怎么使用

avatar
作者
猴君
阅读量:0

MyBatis提供了一些动态SQL标签,可以根据条件来动态地生成SQL语句。以下是常用的动态SQL标签和它们的使用方法:

  1. <if>标签:用于条件判断,只有当条件成立时才会执行其中的SQL语句。

    <select id="selectUser" parameterType="int" resultType="User">   SELECT * FROM user   WHERE 1=1   <if test="id != null">     AND id = #{id}   </if> </select> 
  2. <choose><when><otherwise>标签:类似于Java中的switch语句,可以根据条件选择执行不同的SQL语句。

    <select id="selectUser" parameterType="int" resultType="User">   SELECT * FROM user   WHERE 1=1   <choose>     <when test="id != null">       AND id = #{id}     </when>     <when test="name != null">       AND name = #{name}     </when>     <otherwise>       AND age > 18     </otherwise>   </choose> </select> 
  3. <foreach>标签:用于循环遍历集合或数组,并生成相应的SQL语句。

    <select id="selectUsers" parameterType="List" resultType="User">   SELECT * FROM user   WHERE id IN   <foreach collection="ids" item="id" open="(" separator="," close=")">     #{id}   </foreach> </select> 
  4. <where><set>标签:用于动态生成WHERE和SET子句。

    <update id="updateUser" parameterType="User">   UPDATE user   <set>     <if test="name != null">       name = #{name},     </if>     <if test="age != null">       age = #{age},     </if>   </set>   WHERE id = #{id} </update> 

以上是一些常用的动态SQL标签的使用方法,根据具体的需求选择合适的标签来动态生成SQL语句。

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!