• mybatis配置的逻辑删除不好使了


    在使用mybatisplus中,可使用逻辑删除。案例中,使用mybatisplus逆向生成model,使用delete_status为识别逻辑删除字段。

    springboot 中配置启动逻辑删除

    mybatis-plus:
      global-config:
        db-config:
          id-type: auto
          logic-delete-value: 1
          logic-not-delete-value: 0

    在生成的model实体类中配置逻辑删除字段注解 @TableLogic

    public class User extends Model<User> {
    
        private static final long serialVersionUID=1L;
    
        /**
         * 主键id
         */
        @TableId(value = "id", type = IdType.AUTO)
        private Integer id;
    
        /**
         * 逻辑删除值,1删除,0未删除
         */
        @TableLogic
        private Boolean deleteStatus;
    
        ...  
        
    }

    1.使用mybatisplus的api查询

     @Test
     public void testDeleteStatus() {
         List<User> list = userService.list(new QueryWrapper<User>());
         System.out.println(list);
     }

    在控制台打印的sql自动拼接delete_status = 0

    Consume Time:24 ms 2020-03-27 19:20:39
    Execute SQL:SELECT id,user_name,true_name,avatar,indentity_crad,email,mobile,wechat_openid,unionid,password,gender,
    last_login_ip,last_login_time,login_times,user_from,reg_ip,delete_status,create_time,update_time FROM user WHERE delete_status
    =0

     2.自己自定义一个xml文件,编写一个查询

    <mapper namespace="com.finance.admin.mapper.UserMapper">
     
        <select id="testDelete"
                resultType="com.finance.admin.vo.UserDetailsVO">
            select u.user_name as userName, u.mobile as mobile, u.create_time as createTime, u.last_login_time as last_loginTime
            from `user`
            order by create_time desc
        </select>
    </mapper>

     添加mapper执行结果:

     Consume Time:14 ms 2020-04-21 16:33:24
     Execute SQL:select u.user_name as userName, u.mobile as mobile, u.create_time as createTime, u.last_login_time as last_loginTime 
    from `user` u order by create_time desc

     结果来看,使用自定义的sql为拼接逻辑删除字段。需要我们自己sql中拼接上去。

  • 相关阅读:
    分布式爬虫
    前端页面展示
    fillter根据value来匹配字段
    element ui 怎么去修改el-date-picker的时间
    element ui,input框输入时enter健进行搜索
    element ui 里面的table怎么弹出一个框让表中数据点击出现弹框
    修改数据结构记录,将同级数据改成父子集数据
    h5的复制功能的使用,Clipboard.js的使用,主要是在app里面使用
    在安卓手机下按钮会悬浮在键盘上,怎么解决vue.js
    last-child为啥不生效
  • 原文地址:https://www.cnblogs.com/Yatces/p/12579796.html
Copyright © 2020-2023  润新知