mybatis逻辑删除
时间: 2023-11-12 20:06:16 浏览: 80
批量删除-mybatis-入门
MyBatis 逻辑删除可以通过在 SQL 语句中使用条件语句实现,例如使用 IF 判断语句或者 CASE WHEN 语句。在逻辑删除的场景中,通常会在数据库表中添加一个标识字段(例如 is_deleted),用于标识该记录是否已被删除。在 MyBatis 中,可以使用动态 SQL 的方式来构建带有条件判断的 SQL 语句,例如:
```xml
<update id="logicDeleteById" parameterType="long">
UPDATE user SET is_deleted = 1 WHERE id = #{id}
</update>
<select id="getUserById" parameterType="long" resultType="User">
SELECT * FROM user WHERE id = #{id} AND is_deleted = 0
</select>
```
在上面的例子中,`logicDeleteById` 方法用于将指定 ID 的用户记录标记为已删除,`getUserById` 方法用于查询指定 ID 的用户记录,但只查询未被标记为已删除的记录。
需要注意的是,逻辑删除并不能完全替代物理删除,在某些场景下仍然需要执行物理删除操作。
阅读全文