springboot+mybatis-plus+oracle實現邏輯刪除

最近在做一個前後端分離的小項目,需要刪除用戶表的用戶,但是用戶再別的表做瞭外鍵,所以隻能做成邏輯刪除,一通百度查資料後得以實現:

1、用戶實體類

package com.sie.demo.entity;
 
import com.alibaba.fastjson.annotation.JSONField;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableLogic;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
 
 
import java.io.Serializable;
import java.sql.Timestamp;
 
//@Data:作用於類上,是以下註解的集合:@ToString @EqualsAndHashCode @Getter @Setter @RequiredArgsConstructor
@Data
@AllArgsConstructor
@NoArgsConstructor
@TableName("Users")
public class Users implements Serializable {
    private static final long serialVersionUID = 30L;
//mabatis-plus:數據庫的字段命名方式為使用下劃線連接,對應的實體類應該是駝峰命名方式
    String userName;
    String password;
    String name;
    int status;
    int sex;
    @JSONField(format ="yyyy-MM-dd HH:mm:ss")
    Timestamp createTime;
    @JSONField(format ="yyyy-MM-dd HH:mm:ss")
    Timestamp updateTime;
    String email;
    String note;
    @TableId("user_id")
    long userId;
    String phoneNumber;
    @TableLogic//這個標簽用來標識這是個用來偽刪除的字段
    @TableField("IS_DELETE")
    int isDelete;
 
    public Users(String userName, String password) {
        this.userName = userName;
        this.password = password;
    }
}

2、yml配置

mybatis-plus:
  global-config:
    db-config:
      logic-delete-value: 1 # 邏輯已刪除值(默認為 1)
      logic-not-delete-value: 0 # 邏輯未刪除值(默認為 0)

3、service層,

@Override
    /**
     * 刪除用戶
     */
    public Integer deleteUserByIds(String[] userSelected) {
        Wrapper wrapper = new QueryWrapper();
        List userIds = Arrays.asList(userSelected);
       return userMapper.deleteBatchIds(userIds);
    }

4、controller層

 @DeleteMapping("delete")
    public RetResult<PageUserVo> deleteUserByIds(String[] ids){
        Integer isDelete = userService.deleteUserByIds(ids);
        if (isDelete != 0){
            return RetResponse.makeRsp(200,"刪除成功");
        }else {
            return RetResponse.makeRsp(500,"刪除失敗");
        }
    }

5、運行後控制臺的sql語句直接就是update瞭

完畢!

springboot+oracle+mybatis-plus實現分頁

到此這篇關於springboot+mybatis-plus+oracle實現邏輯刪除的文章就介紹到這瞭,更多相關springboot+mybatis-plus+oracle 邏輯刪除內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!

推薦閱讀: