MybatisPlus
概念:基于Mybatis框架的基础上开发的增强型工具,旨在简化开发,提高效率
使用步骤
- 创建spingboot initial项目
- 模块使用到的东西只选择MysqlDriver
- 手动添加mybatisplus的起步依赖,druid
4.配置数据源
5.建表,创建实体类
6.定义数据层接口,继承BaseMapper<实体类>
mybatisplus的特性
1.无侵入,只做增强,不做改变
2.强大的CRUD操作,内置Mapper(不需自己写了),少量配置即可实现CRUD
3.支持Lambda,编写查询条件无需担心字段写错
4.支持主键自动生成
5.内置分页插件
分页查询
1.设置分页拦截器作为spring管理的bean
2.执行查询的命令
3.如果想看到查询的结果,需要在yml文件中开启日志
关闭spring的启动图标
在配置文件中,添加mybatis-plus.global-config.banner,这里是关闭mb的图标
spring.main,banner-mode,关闭spring的图标
关闭日志
创建一个xml文件,添加标签<configuration></configuration>
使用mybatisplus进行调价查询
单条件查询
多条件查询
条件查询空值处理
如果要实现范围的查询,需要再创建一个类,用以区间判断,不破坏实体类在数据库中的使用
统计查询、查询投影
指定mybatisplus的条件
指定条件相等,eq
指定条件不相等,ne
大于指定条件,gt
小于指定条件,lt
小于等于指定条件,le
介于范围之间,between
不介于范围之间,notBetween
模糊匹配,指定包含,like
模糊匹配,指定不包含,notLike
以某个字符串结尾,likeLeft
以某个字符串开头
指定字段为null
指定字段不为null
满足指定条件之一
分组
升序排序
降序排序
存在判断
查询字段
使用mybatisplus处理文件的映射
1.实体类名和数据库表名不一致
@TableName(“数据库表名”)
2.实体类属性和数据库的字段名不一致
@TableField(value=“字段名”)
3.数据表中没有实体类某个属性对应的字段
@TableField(exist=false)
4.想要某个字段不能被查出来
@TableField(select=false)
mybatisplus的id生成策略
在yml的配置文件中
一次删除多条数据/一次查询多条数据
逻辑删除
概念:就是给定一个字段,表示表中的某条数据被删除掉了,但该记录任然在表中,需要给定默认值
使用方法:
在配置文件yml中,
乐观锁
主要是用于秒杀类活动
- 需要在数据表给出一个专用字段version
- 在数据表对应的类中添加该字段属性,属性上添加@Version
- 在mybatisplus的拦截器中添加一个方法
mb实现乐观锁的sql语句