Mybatis は要素のいくつかのフィールドをバッチ更新します

シナリオ: デバイスの ID、名前、価格を保存する基本的なテーブルがあります。現在、デバイス ID の配列があります。ここで、この配列内のすべてのデバイスの価格を渡された価格に変更し、渡された名前がある場合は、その名前を渡されたパラメータに変更します。mybatisで実現しました。

関係する知識ポイント:

  • ifset一部のフィールドを更新するために と組み合わせて使用​​されます
  • foreach配列内の要素をバッチ更新するために使用します。
<update id="updateDevice" parameterType="DeviceUpdateCommand">
  update device_t
  <set>
 	 	price = #{price},
  		<if test="name!=null">
  			name = #{name},
  		</if>
  </set>
  where device_id in
  <foreach item="deviceId" collection="deviceIds" open="(" separator="," close=")">
    #{deviceId}
  </foreach>
</update>

このうち、DeviceUpdateCommand はカスタム Java クラスです。

public DeviceUpdateCommand {
    
    
private String name;
private Integer price;
private List<String> deviceIds;
}

おすすめ

転載: blog.csdn.net/qq_43720551/article/details/131386586