mybatis-plus 删除,mybatis-plus增删改查

  mybatis-plus 删除,mybatis-plus增删改查

  一.导言二具体实现步骤一:首先我们需要分别配置undelete和deleted的状态码,以及这里采用的yml格式。第二步:在实体类对应的字段中添加注释@TableLogic。第三步:测试测试。现在,当我们测试按ID删除用户时,让我们看看执行的SQL语句是UPDATE。第三,注意细节

  在00-1010之前,边肖谈到了MP从入门到核心功能的使用。在接下来的几天里,边肖将会记录一些MP在实际项目中常用的高级功能。

  高级功能包括:逻辑删除、自动填充、乐观锁定插件、性能分析插件、多租户SQL解析器、动态表名SQL解析器、SQL注入器。

  今天就来说说如何在MP中使用逻辑删除,不过逻辑删除我就不多介绍了。顾名思义,就是通过逻辑判断的方式,删除了这段数据。

  00-1010删除功能是项目中经常见到的需求。比如需要删除某个商品和某个订单,但实际数据往往不会删除,而是选择逻辑删除来实现。

  以边肖用户为例。用户表中有一个is_delete字段,用于标识用户是否已被删除。0表示未删除,1表示已删除。

  00-1010 mybatis-plus : global-config 3360 db-config : # 1表示已删除,未配置默认为1,配置逻辑-delete-value3360 1 # 0表示未删除,未配置默认为0,配置逻辑-not-delete-value 3360 0 0也可以修改。

  

目录

/* * * p * * p * user */p * * @ author IT base man * @ since 2019-06-14 */@ data @ tablename( sys _ user )公共类用户扩展模型用户实现可序列化{ private static final long serialversionuid=1l;/* * *主键id */@ tableid (value= id ,type=idtype.auto)私有长id;//.其他字段被省略/* * Delete */@ tablelogic私有字符串被删除;}

 

  

一、引言

@ Test public void delete(){ int I=user mapper . delete byid(1);system . out . println(I);} DEBUG==preparing : UPDATE sys _ user SET is _ delete= 1 其中id=?并且is _ delete= 0 DEBUG==parameters : 1(Integer)DEBUG==updates : 1

 

  00-1010细节1:当我们使用MP逻辑删除的功能,比如查询、修改等,MP会自动为我们添加取消删除的条件。除了自定义sql。

  @ Test public void select(){ ListUser users=user mapper . select list(Wrappers。UserlambdaQuery()。eq(User:getAge,18));users . foreach(system . out :3360 println);} @ Test public void update(){ User User=new User();user . set email( Test @ email.com );int update=user mapper . update(user,Wrappers。UserlambdaQuery()。eq(User:getAge,18));System.out.println(更新);}DEBUG==Preparing: SELECT id,login_name,name,password,email,salt,sex,age,phone,user_type,status,organization_id,create_time,is_delete FROM sys_user其中is_delete=0 ,age=?DEBUG==参数: 18(整数)DEBUG==Total: 0

  DEBUG==preparing : UPDATE sys _ user SET email=?其中_delete=0 ,age=?DEBUG==parameters : Test @ email.com(String),18(Integer)DEBUG==updates : 0

  详细信息:当我们查询数据时,我们不想查询标识符被删除的字段。我们可以通过以下方式快速解决。当然,您也可以在包装器中使用select表达式来排除一些查询字段,但是对它们进行注释更方便。

  /* * * Delete */@ table logic @ table field(select=false)私有字符串被删除;本文关于MyBatis-Plus逻辑删除的示例代码到此为止。关于MyBatis-Plus逻辑删除的更多信息,请搜索热门IT之前的文章或者继续浏览下面的相关文章。我希望你以后能更多地支持流行音乐!

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: