多表之间,要删除一个对象,首先要接触他们之间的关系
第一步:mapper
//根据客户id删除客户
void deleteCustomerById(Integer cust_id);
第二步:mapper.xml
客户的mapper.xml
<delete id="deleteCustomerById">
delete from `customer` where `cust_id`=#{cust_id};
</delete>
订单的mapper.xml
<!--解除和客户的外键关系 -->
<update id="updateRemoveRelationWithCustomer">
update `order` set `orderCustId`= null where `orderCustId`=#{cust_id};
</update>
第三步:测试类
@Test
public void test9(){
SqlSession session = MyUtils.openSession();
CustomerMapper mapper = session.getMapper(CustomerMapper.class);
OrderMapper orderMapper = session.getMapper(OrderMapper.class);
//打破外键的联系
orderMapper.updateRemoveRelationWithCustomer(33);
//删除客户
mapper.deleteCustomerById(33);
session.commit();
session.close();
}