一、逻辑删除
使用逻辑删除,主要是对表进行更新时间操作,使用update根据主键id,更新deleted_at。这样查询时,只要deleted_at IS NULL 就可以了。
public boolean delete(long id) { boolean isUpdate = buyer_receive_address.dao.update("UPDATE buyer_receive_address SET deleted_at = ? WHERE id =?", new Date(), id); return isUpdate; }
二、物理删除
物理删除可以直接使用sql语句的delete语句就解决了。
三、批量删除
批量删除同样类比物理删除,使用update语句。例如:
//ids id拼接的字符串
public boolean delete(String ids) { boolean flag = update("UPDATE producer SET deleted_at = ? WHERE id IN (" + ids + ")", new Date()); return flag; }
四、综合使用
注:在做删除操作时,也要考虑,你删除的这个数据与之关联的表是否也需要删除或更新!
public boolean deleteSalesman(String salesman_id_list) { boolean flag = user_info.dao.update("UPDATE user_info SET deleted_at = ? WHERE id IN (" + salesman_id_list + ")", new Date()); if (flag) { sec_user_permission.dao.deleteBy("user_id IN (" + salesman_id_list + ")"); } return flag; }