Mybatis plus快速上手
・Spring boot + Mybatis plus ・
・
・
1、建项目
2、改pom
・
3、改配置
・
4、写实体类
5、创建Mapper接口
6、主启动
・
・
・
常用注解
・
@TableName 映射数据库的表明
・
・
@TableId
主键使用
・
・
・
Value属性,主键映射数据库中主键(用于实体类中属性名与数据库表中属性名不一样时进行统一)
・
Type修改主键类型
・
・
・
・
・
・
@TableFile
给主键之外的其他属性使用
・
・
・value属性用于指定数据库表中的属性名。(用于实体类中属性名与数据库表中属性名不一样时进行统一)
・
・
exist属性是否去数据库中查询这个字段(如果数据库中没有这个数据)
・
・
・
・
select属性,是否去数据库中查询这个字段
・
・
・
fill属性表示自动填充,将对象存入数据库的时候,自动给某些字段赋值。还需要自定义一个添加时间的组件。
・自定义一个添加时间的组件
・
・
@version
・
・
・
1、使用乐观锁都要在数据库表中去添加一个version字段,默认为1
・
・
・
2、实体类添加version成员变量,并添加@version注解
・
・
・
・
3、注册配置类让乐观锁生效
・
・
・
@EnumValue
・
通用枚举类注解,将数据库字段映射成实体类的枚举类型成员变量
・
1、枚举类
・
・
2、实体类中加入枚举
・
・
・
3、在yml中配置枚举的包
・
・
・
・
4、执行查询数据库看是否映射:
・
・
@TableLogic
・
・
映射逻辑删除
・
・
1、去数据库中添加字段deleted 默认值为0
・
・
2、实体类添加属性和注解
・
・
3、改yml
・
・
4、测试:
・
・
数据库还存在这个数据,但是已经查不出来了。
・
CRUD操作
・
查询
・
・
1、selectList(null) 不加任何条件进行查询,自定义条件查询需要生成这个对象
然后再添加条件
wrapper.between(column, val1, val2)
wrapper.groupBy(columns) //对应sql中分组
wrapper.eq(column, params) //相当于where条件
wrapper.in(column, value) //sql中in
wrapper.notIn(column, value) //sql中 not in
wrapper.orderBy(columns, isAsc) //排序
wrapper.exists(value) //相对于sql中exists查询
wrapper.notExists(value) //相当于sql中not exists查询
wrapper.notBetween(column, val1, val2) //相当于sql中在某个范围内使用的between
wrapper.ge(column, params) //大于等于
wrapper.le(column, params) //小于等于
wrapper.like(column, value) //模糊查询
wrapper.having(sqlHaving, params) //条件过滤
然后在selectList(wrapper)
・
・
・
2、selectById():通过ID去查询
・
3、selectBatchIds():根据多个ID去查询
・
4、selectByMap()可以把条件反正map中,但是只能是等值查询
・
5、selectCount查询总数,需要条件,所以要加QueryWrapper
・
6、selectMaps将符合条件的数据查出,以Map集合的形式返回
・
・
7、selectPage()分页查询(需要先添加配置)
・
・
8、selectMapsPage() 返回值是一个map
・
・
9、selectOne()结果集只能有一条数据
・
・
添加
删除
・
1、delecteBatchIds(id,id) 根据多个ID删除
・
2、delect()根据条件删除
3、delectByMap()
修改
・
・
1、update(user,wrapper) 根据条件去修改
・
・
・
2、updateById(user),根据传进去的user id值选择修改哪一个
・
・
・
MybatisPlus自动生成
・
・
步骤
・
・
1、修改pom
・
・
・
2、创建代码生成器主类
・
若要生成部分表只需要在配置策略中添加下列代码
・
・
・
3、更改主启动类扫描Mapper接口路径
・
・