注:此處的**是在mybatisplus的分頁查詢上進行新增修改的
什麼是物理刪除?
簡單來說,物理刪除就是我們日常中使用的delete語句,就是真真正正的從資料庫中刪除掉某條資料。
簡單使用
//物理刪除
@test
public
void
delete()
什麼是邏輯刪除?簡單來說,邏輯刪除就是給表中新增乙個字段通過這個欄位讓其實現,例如下圖,我們預設這個欄位deleted為1(未刪除),然後我們刪除時候將1改為0(已刪除)。
邏輯刪除:update user set deleted=1 where id = 1 and deleted=0
邏輯刪除後的查詢:select * from user where deleted=0
簡單使用
給資料庫新增乙個新字段deleted,預設值為0
給實體類新增乙個屬性
@tablelogic
private
int deleted;
新增邏輯刪除主鍵
package com.pning.conf;
import com.baomidou.mybatisplus.core.injector.isqlinjector;
import com.baomidou.mybatisplus.extension.injector.logicsqlinjector;
import com.baomidou.mybatisplus.extension.plugins.optimisticlockerinterceptor;
import com.baomidou.mybatisplus.extension.plugins.paginationinterceptor;
import com.baomidou.mybatisplus.extension.plugins.pagination.optimize.jsqlparsercountoptimize;
import org.springframework.boot.autoconfigure.enableautoconfiguration;
import org.springframework.context.annotation.bean;
import org.springframework.context.annotation.configuration;
@enableautoconfiguration
@configuration
public
class
mybatisplusconfig
//分頁
@bean
public paginationinterceptor paginationinterceptor()
//邏輯刪除
@bean
public isqlinjector isqlinjector()
}
配置
spring
:datasource
:username
: root
password
: abc123!_
driver-class-name
: com.mysql.cj.jdbc.driver
url: jdbc:mysql://localhost:3306/mybatisplus?useunicode=true&characterencoding=utf-8&servertimezone=gmt%2b8
mybatis-plus
:configuration
:log-impl
: org.apache.ibatis.logging.stdout.stdoutimpl
global-config
:db-config
:logic-delete-field
: deleted # 全域性邏輯刪除的實體欄位名(since 3.3.0,配置後可以忽略不配置步驟2)
logic-delete-value:1
# 邏輯已刪除值(預設為 1)
logic-not-delete-value:0
# 邏輯未刪除值(預設為 0)
再用上面的物理刪除方法後會發現刪除操作實際變成了修改操作,我們查詢的時候元件也會在查詢語句上新增乙個where deleted=0
導致普通人查不到。
//物理刪除
@test
public
void
delete()
** mybatis plus邏輯刪除
1.先在資料庫加delete status欄位,還有實體類加deletestatus欄位 你試試實體類加delete status,會有問題,預設是駝峰 這就是告訴spring,我要把這欄位設為刪除標誌 tablelogic 邏輯刪除 private integer deleted 2.在3.1.1...
mybatis plus 邏輯刪除
整合步驟 1 匯入依賴 2 配置 資料來源 驅動 鏈結資訊 spring datasource username root password root url jdbc mysql driver class name com.mysql.cj.jdbc.driver name gulimall pr...
MybatisPlus邏輯刪除
新增 deleted欄位 altertable user add column deleted boolean default false新增deleted 字段,並加上 tablelogic 註解 tablelogic private integer deleted mybatis plus.gl...