Mybatisのカスケード削除の手順は何ですか

MyBatisは2つの方法により、カスケード削除を提供します。

  1. ネイティブ表現で言い換えると:

例:

<delete id="deleteUser" parameterType="int">
  DELETE FROM user WHERE id = #{id};
</delete>

<delete id="deleteUserAndOrders" parameterType="int">
  DELETE FROM user WHERE id = #{id};
  DELETE FROM order WHERE user_id = #{id};
</delete>
  1. 日本語でネイティブに言い換えた文を1つだけ記載します:
  2. 削除

例えば、

<resultMap id="userResultMap" type="User">
  <id property="id" column="id" />
  <result property="name" column="name" />
  <collection property="orders" ofType="Order" delete="deleteOrder" column="user_id">
    <id property="id" column="order_id" />
    <result property="name" column="order_name" />
  </collection>
</resultMap>

<delete id="deleteOrder" parameterType="int">
  DELETE FROM order WHERE id = #{id};
</delete>

上記例では、タグは削除カスケードの集合プロパティを定義しています。このdelete属性は使用する削除メソッドを指定します。

ご状況に合った級連削除の実装方法を選択してください。

bannerAds