MybatisPLUS基础知识点

ORM框架体系

Mybatis中关系的映射

Mybatis-PLUS

Mybatis-PLUS(MP)就是Mybatis的增强工具======>简化开发,提高效率

特性:

无侵入

低损耗

内置分页插件

支持多个数据库等

原理

扫描实体类,拿到对应的实体名作为表名,拿到所有的字段名作为表中的列名

Mybatis和MP对比

Mybatis:

  • 优点

    SQL语句自由控制,更加灵活

    SQL与业务代码分离,易于维护

    提供动态SQL语句

  • 缺点

    简单的CRUD也需要提供对应的SQL语句

    必须维护大量的xml文件

    自身功能有限,拓展需要依赖第三方插件

MP

  • 可以提供无SQL的CRUD操作
  • 内置代码生成器,分页插件,性能分析插件等等
  • 提供丰富的条件构造器(UpdateWrapper)快速进行无SQL开发

MP的使用准备和Mybatis基本没有差距

ORM (Object-Relational Mapping) 对象关系映射思想,使用面向对象的方式操作数据库

Mybatis常用注解

@TableName 表名的映射

@TableField 字段的映射

@TableId 主键的映射

测试类

SpringBootTest注解会被启动类注解找到

测试类需要使用Junit5的包,否则启动会报错----------import org.junit.jupiter.api.Test;(Junit5)

语句

INSERT语句

INSERT(实体类对象)===>找到实体类对应的表按对应的字段名进行操作

修改:

updateById

  • 只修改对象中不为null的值
  • 问题1: 当某个属性具有默认值的时候可能会导致覆盖数据
  • 问题2: 只能以id作为条件进行修改对象数据
  • 好处: 只需要基于id修改,操作方便

update: (QueryWrapper)

  • 第一个参数: 要修改的内容,不为 null 的属性会被拼接到 set 命令后
  • 第二个参数: update 条件包装器对象
  • 好处: 可以自行选择更新的字段,以及使用自定义条件更新

删除语句:

deleteByMap:

  • 传入一个Map集合,多条件拼接
  • 多条件之间是And拼接
  • 只能是等值条件判断

delete(Wrapper wrapper):

  • 根据wrapper中的条件删除

deleteBatchIds(id集合)

  • 批量删除

查询语句

selectById(ID)

selectBatchIds(Ids)

selectByMap(Map集合)

  • 根据Map集合中的键值对作为条件去查询
  • 等值查询
  • And拼接

selectOne(wrapper对象)

  • 根据wrapper中的条件去查找符合的记录
  • 只能查询一个结果或者是没有结果,不能多

selectCount(wrapper对象)

  • 根据条件查询符合条件的记录条数

selectList(wrapper对象)

  • 根据条件查询所有满足条件的记录
  • 可以为 null

selectMaps(wrapper对象)

  • 根据条件查询所有记录
  • 返回的一个Map集合就是一条记录

selectObjs(wrapper对象)

  • 根据条件查询所有记录
  • 返回对应的实体对象,只返回第一个字段的值

selectPage(分页条件,wrapper对象)=====>配置分页

<E extends IPage<T>> E selectPage(E page, Wrapper<T> queryWrapper);

  • 按条件查询所有记录并翻页
  • 分页查询

selectMapsPage(分页条件,wrapper对象)

<E extends IPage<Map<String, Object>>> E selectMapsPage(E page, Wrapper<T> queryWrapper);

  • 根据条件查询所有记录并翻页
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值