经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » 数据库/运维 » MyBatis » 查看文章
springboot+mybatis-plus+oracle实现逻辑删除
来源:jb51  时间:2021/8/5 11:21:36  对本文有异议

最近在做一个前后端分离的小项目,需要删除用户表的用户,但是用户再别的表做了外键,所以只能做成逻辑删除,一通百度查资料后得以实现:

1、用户实体类

  1. package com.sie.demo.entity;
  2. import com.alibaba.fastjson.annotation.JSONField;
  3. import com.baomidou.mybatisplus.annotation.TableField;
  4. import com.baomidou.mybatisplus.annotation.TableId;
  5. import com.baomidou.mybatisplus.annotation.TableLogic;
  6. import com.baomidou.mybatisplus.annotation.TableName;
  7. import lombok.AllArgsConstructor;
  8. import lombok.Data;
  9. import lombok.NoArgsConstructor;
  10. import java.io.Serializable;
  11. import java.sql.Timestamp;
  12. //@Data:作用于类上,是以下注解的集合:@ToString @EqualsAndHashCode @Getter @Setter @RequiredArgsConstructor
  13. @Data
  14. @AllArgsConstructor
  15. @NoArgsConstructor
  16. @TableName("Users")
  17. public class Users implements Serializable {
  18. private static final long serialVersionUID = 30L;
  19. //mabatis-plus:数据库的字段命名方式为使用下划线连接,对应的实体类应该是驼峰命名方式
  20. String userName;
  21. String password;
  22. String name;
  23. int status;
  24. int sex;
  25. @JSONField(format ="yyyy-MM-dd HH:mm:ss")
  26. Timestamp createTime;
  27. @JSONField(format ="yyyy-MM-dd HH:mm:ss")
  28. Timestamp updateTime;
  29. String email;
  30. String note;
  31. @TableId("user_id")
  32. long userId;
  33. String phoneNumber;
  34. @TableLogic//这个标签用来标识这是个用来伪删除的字段
  35. @TableField("IS_DELETE")
  36. int isDelete;
  37. public Users(String userName, String password) {
  38. this.userName = userName;
  39. this.password = password;
  40. }
  41. }

2、yml配置

  1. mybatis-plus:
  2. global-config:
  3. db-config:
  4. logic-delete-value: 1 # 逻辑已删除值(默认为 1)
  5. logic-not-delete-value: 0 # 逻辑未删除值(默认为 0)

3、service层,

  1. @Override
  2. /**
  3. * 删除用户
  4. */
  5. public Integer deleteUserByIds(String[] userSelected) {
  6. Wrapper wrapper = new QueryWrapper();
  7. List userIds = Arrays.asList(userSelected);
  8. return userMapper.deleteBatchIds(userIds);
  9. }

4、controller层

  1. @DeleteMapping("delete")
  2. public RetResult<PageUserVo> deleteUserByIds(String[] ids){
  3. Integer isDelete = userService.deleteUserByIds(ids);
  4. if (isDelete != 0){
  5. return RetResponse.makeRsp(200,"删除成功");
  6. }else {
  7. return RetResponse.makeRsp(500,"删除失败");
  8. }
  9. }

5、运行后控制台的sql语句直接就是update了

完毕!

springboot+oracle+mybatis-plus实现分页

到此这篇关于springboot+mybatis-plus+oracle实现逻辑删除的文章就介绍到这了,更多相关springboot+mybatis-plus+oracle 逻辑删除内容请搜索w3xue以前的文章或继续浏览下面的相关文章希望大家以后多多支持w3xue!

 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号