mybatis-plus
2020-05-12 15:46:23 0 举报
AI智能生成
数据库操作方法思维导图
作者其他创作
大纲/内容
快速入门
Mybatis对比JPA
JPA优势
移植性好
效率高
对象化程度高
Mybatis优势
自由灵活性能较高
易于阅读和维护
支持动态SQL语句
Mybatis劣势
简单操作还得写SQL
XML中大量SQL维护
自身功能有限但支持插件
MyBatis-Plus
无侵入损耗小强大的CRUD
支持Lambda多种数据库
主键自动生成支持AR模式
自定义全局操作关键词自动转义
内置代码生成器分页性能分析插件
内置全局拦截插件sql注入剥离器
基本使用
步骤
建库建表
引入依赖
配置
编码
测试
SSM传统编程模式
接口中写抽象方法
XML或注解写SQL
Service中调接口
Controller中调用
常用注解
@TableName("XX")
@TableId
@TableField("XX")
排除非表字段
transient
static
@TableField(exit=false)
CRUD
Create
baseMapper.insert(entity)
Retrieve
普通查询
baseMapper.selectById(id)
baseMapper.selectBatchIds(idList)
baseMapper.selectByMap(columnMap)
条件构造器
baseMapper.selectList(queryWrapper)
like
lt
ge
between
isNotNull
likeRight
orderByDesc
orderByAsc
or
and
nested
apply
inSql
in
last
groupBy
having
select()不列出全部字段
condition控制条件加入到where语句中
实体对象作为创建条件构造器时的参数
@TableField(condition=SqlCondition.LIKE)可控制实体的属性
allEq全部eq
其它使用条件构造器的方法
selectMaps(queryWrapper)
常用于select()一起使用
selectObjs(queryWrapper)
常用于只返回一列
selectCount(queryWrapper)
用于返回记录数
selectOne(queryWrapper)
返回一条记录多条报错
lambda条件构造器
好处防误写
使用条件构造器的自定义SQL
使用注解或xml
分页查询
selectPage(page,queryWrapper)
selectMapsPage(page,queryWrapper)
优化:构造Page时传false可不查总记录
多表分页查询时可用自定义SQL
Update
根据id更新
updateById(entity)
根据条件构造器更新
update(entity,updateWrapper)
条件构造器中set方法使用
update(null,updateWrapper)只更新少量属性
Delete
根据id删除
deleteById(id)
普通删除
baseMapper.deleteByMap(columnMap)
baseMapper.deleteBatchIds(idList)
条件构造器删除
delete(queryWrapper)
AR模式
直接用实体操作数据库
MP中的实现
首先实体类要继承Model
其次mapper要继承basemapper
编写insert(),selectById(),updateById(),deletById(),insertOrUpdate()
主键策略
MP主键策略
AUTO
NONE
INPUT
UUID
ID_WORKER
ID_WORKER_STR
局部主键策略
类中定义
全局主键策略
yml中配置id-type
MP配置
基本配置
config-location
mapper-locations
type-aliases-package
进阶配置
map-underscore-to-camel-case
DB策略配置
field-strategy
table-prefix
通用service
基本方法
CRUD
批量操作方法
saveBatch(list)
saveOrUpdateBatch(list)
链式调用方法
lambdaQuery()
lambdaUpdate()
收藏
0 条评论
下一页