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

springboot 中配置启动逻辑删除

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

在生成的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: ms -- ::
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=

 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: ms -- ::
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中拼接上去。

mybatis配置的逻辑删除不好使了的更多相关文章

  1. mybatis 乐观锁和逻辑删除

    本篇介绍easymybatis如配置乐观锁和逻辑删除. 乐观锁 easymybatis提供的乐观锁使用方式跟JPA一样,使用@Version注解来实现.即:数据库增加一个int或long类型字段ver ...

  2. spring boot项目自定义数据源,mybatisplus分页、逻辑删除无效解决方法

    Spring Boot项目中数据源的配置可以通过两种方式实现: 1.application.yml或者application.properties配置 2.注入DataSource及SqlSessio ...

  3. Spring boot+Mybatisplus用AR模式实现逻辑删除操作

    Mybatisplus的AR模式 Active Record(活动记录),是一种领域模型模式,特点是一个模型类对应关系型数据库中的一个表,而模型类的一个实例对应表中的一行记录.ActiveRecord ...

  4. 小书MybatisPlus第8篇-逻辑删除实现及API细节精讲

    本文为Mybatis Plus系列文章的第8篇,前7篇访问地址如下: 小书MybatisPlus第1篇-整合SpringBoot快速开始增删改查 小书MybatisPlus第2篇-条件构造器的应用及总 ...

  5. mybatis-plus逻辑删除

    MP(mybatis plus)已经大大简化了我们好多的开发操作,基本的增删改查都有了,包括代码生成等等,今天想说的是它的逻辑删除功能.我们都在数据库设计时候经常会有is字段,表示是否删除,为了留下员 ...

  6. EF里一对一、一对多、多对多关系的配置和级联删除

    本章节开始了解EF的各种关系.如果你对EF里实体间的各种关系还不是很熟悉,可以看看我的思路,能帮你更快的理解. I.实体间一对一的关系 添加一个PersonPhoto类,表示用户照片类 /// < ...

  7. EF——一对一、一对多、多对多关系的配置和级联删除 04(转)

    EF里一对一.一对多.多对多关系的配置和级联删除   本章节开始了解EF的各种关系.如果你对EF里实体间的各种关系还不是很熟悉,可以看看我的思路,能帮你更快的理解. I.实体间一对一的关系 添加一个P ...

  8. Mybatis配置信息浅析 MyBatis简介(二)

    官方文档入门篇中有明确说明 每个基于 MyBatis 的应用都是以一个 SqlSessionFactory 的实例为中心的. SqlSessionFactory 的实例可以通过 SqlSessionF ...

  9. mybatis配置与使用

    一:Mybatis简介 1.名称由来 Mybatis原名叫ibatis.Mybatis一开始属于Apache,2010年从Apache转移到了GoogleCode这个组织中. 2.Mybatis概念 ...

随机推荐

  1. 判断网站CMS

    1.robots.txt文件 robots.txt文件我们写过爬虫的就知道,这个文件是告诉我们哪些目录是禁止爬取的.但是大部分的时候我们都能通过robots.txt文件来判断出cms的类型 如: 从w ...

  2. PhpStorm+XAMPP+Xdebug 集成开发和断点调试环境配置

    0x01 Xdebug安装 参考:https://xdebug.org/docs/install cd xdebug-/ phpize sudo ./configure --enable-xdebug ...

  3. P4147 玉蟾宫 题解

    原题链接 简要题意: 求最大 \(0\) 矩阵.(将字符转化为数字) 本题是模板题,可以用来爆踩.??? 悬线法 来了! 其中绿色是 \(0\),红色是 \(1\). 下面以这个图为例讲一下算法流程. ...

  4. python课程体系是怎么样的?

    好的python课程体系是怎么样的?Python从1991年走到今天,已经有了28年的历史了,在开发行业来说也是老江湖了,那么python为什么可以在开发行业屹立不倒呢?其实python最吸引程序员的 ...

  5. Android菜单(menu)

    Android  菜单 我们继续来进行学习,今天写一下在软件中用的还算较多的菜单. 1.Menu 菜单,很显然,作用就是点击不同的选项触发不同的方法.现在在安卓使用中推荐使用ActionBar,但这里 ...

  6. .Net Web Api返回Json数据中原对象变量名大小写问题

    这两天在工作中使用SignalR的WebSocket做数据实时传递的功能开发,在后端主动向前端广播数据以Json传递时,前端获取的Json中对应类的变量名首字母默认传递的是大写.而前端一直获取到的后台 ...

  7. 批量生成sql语句,难得

    在工作我们常常要批量生成sql文件,因为业务部门经常给我们的是excel文件,根据我的经验,推荐两种批量生成sql文件方式 1.excel批量生成sql ,sql语句如下 INSERT INTO Ta ...

  8. D - Expanding Rods POJ - 1905(二分)

    D - Expanding Rods POJ - 1905 When a thin rod of length L is heated n degrees, it expands to a new l ...

  9. stm32:extern关键字

    参考:http://c.biancheng.net/view/404.html 1.在一个文件中: #include <stdio.h> int max(int x,int y); int ...

  10. javascript中常见的表单验证项

    1.不能超过20个字符 <body> <form name=a onsubmit="return test()"> <textarea name=&q ...