group by(注意使用位置在where条件后面) with rollup(可以实现在分组统计的基础上,再进行相同的统计(sum,avg,count...)) union(...
group by(注意使用位置在where条件后面) with rollup(可以实现在分组统计的基础上,再进行相同的统计(sum,avg,count...)) union(...
1. 逻辑删除: 通过一个字段(删除标识)来标识数据是否被删除,就是假删除的功能。 2. 自动填充: 新增、修改等操作时,自动补充创建人、创建时间、修改人、修改时间、版本号、...
目的:主要是用于输出每条sql语句和执行时间的。(生产环境不开启) 一、性能分析实现 在MybatisPlusConfiguration中配置一个性能分析插件Performa...
简介 乐观锁的目的是:当要更新一条记录时,希望这条数据没有被别人更新过;为了防止更新冲突的问题。 乐观锁如何实现? 实现方式一:版本号方式 取出记录时,获取当前version...
使用背景: 针对项目中有新增时间,修改时间,新增人,修改人等字段;最笨的办法是:新增时,new Date()或者是java8的LocalDateTime.now()来设置到新...
实现步骤: application.yml中进行配置: 建立一个配置类包,在包里创建一个配置类MybatisPlusConfig 在实体类上逻辑删除字段添加注解@TableL...
逻辑删除自动填充乐观锁插件性能分析插件多租户SQL解析器动态表名SQL解析器SQL注入器
一、基本配置: configLocation配置:MyBatis 配置文件位置,如果您有单独的 MyBatis 配置,请将其路径配置到 configLocation 中。 第...
设置主键自增策略:(主键策略类型要和数据库对应) 首先把数据库的主键设置为自增 给实体主键id上加注解,并设置为自增策略@TypeId(type = IdType.AUTO)...
什么是AR模式:简单来说就是通过实体类对象,直接进行表的增删改查操作。 实现AR模式在MP中有两个基本要求: 实体类继承Model类 必须存在原始的Mapper接口并继承Ba...
更新操作方法实战 删除操作方法实战
一、MP分页插件,实现物理分页; 分页插件配置,添加MybatisPlusConfig类: 二、实现分页代码 第一种分页方法selectPage:生成2条sql语句 第二种分...
使用自定义sql前提:MP版本>=3.0.7 使用方法一: 第一步:dao层创建自定义方法 第二步:测试自己创建的方法 使用方法二:(xml方式)
lambda条件构造器的三种创建方式 使用lambda条件构造器的好处:防止误写,写错后编译都通不过,语句会直接爆红。 lambda条件构造器使用案例一: lambda条件构...
一、selectMaps方法 应用场景一:表字段特别多,但是需求只要其中几个时,使用selectMaps更优雅 应用场景二:统计查询中返回统计结果时 二、selectObjs...
一、查询不显示全部列——select的使用 第一种情况——直接选定要显示的列 第二种情况——反向设定不要显示的列(适用于要显示的列有很多的情况) 二、方法的第三个参数——co...
一、创建添加构造器的两种方式 二、注意点 条件构造器的方法中,参数条件大多使用的是数据库的字段名,而不是变量名; apply、inSql方法的使用(见下方selectByWr...
1.简单查询: //按id查,基本数据类型都实现了Serializable接口,用到了多态写法T selectById(Serializable id);案例:User us...
一、transient修饰该成员变量,不序列化此字段。 private transient String remark; 缺点:此方式只适用不需要给此字段序列化的场景。 ...
MP默认设置: 1.MP中insert新增记录时,我的入参并没有写主键id,但是执行后查看生成的sql语句是有id的;这个是MP给我们默认填充的,默认是采用基于雪花算法的自增...