多看官方文档


开源仓库:https://gitee.com/baomidou/mybatis-plus-samples/tree/master
代码 在 test目录下 sql文件在resource目录下

mybatis-plus-sample-generator: 代码生成器示例
mybatis-plus-sample-crud: 完整 CRUD 示例
mybatis-plus-sample-wrapper: 条件构造器示例
mybatis-plus-sample-pagination: 分页功能示例


来源:https://blog.csdn.net/qq_34508530/article/details/88945034
简化CURD

相比两种写法,我更喜欢ActiveRecord的模式写法,因为我不用注入userMapper,new了一个对象之后直接调用方法操作就行了,复杂的查询也很简单,新建一个EntityWrapper作为查询对象,Wrapper接口封装了很多常用的方法。几乎sql能写出来的条件调用Wrapper的方法就能表现出来。


插入返回主键id值
new User();
insert(user)
int id=user.getId()

service继承了ServiceImpl,自己看源码,许多简单的业务可以直接在controller层调用service接口实现类操作,例如:remove,get,update,list等函数(没有 insert)

BaseMapper的源码:

public interface BaseMapper<T> extends Mapper<T> {int insert(T entity);int deleteById(Serializable id);int deleteByMap(@Param(Constants.COLUMN_MAP) Map<String, Object> columnMap);int delete(@Param(Constants.WRAPPER) Wrapper<T> wrapper);int deleteBatchIds(@Param(Constants.COLLECTION) Collection<? extends Serializable> idList);int updateById(@Param(Constants.ENTITY) T entity);int update(@Param(Constants.ENTITY) T entity, @Param(Constants.WRAPPER) Wrapper<T> updateWrapper);T selectById(Serializable id);List<T> selectBatchIds(@Param(Constants.COLLECTION) Collection<? extends Serializable> idList);List<T> selectByMap(@Param(Constants.COLUMN_MAP) Map<String, Object> columnMap);T selectOne(@Param(Constants.WRAPPER) Wrapper<T> queryWrapper);Integer selectCount(@Param(Constants.WRAPPER) Wrapper<T> queryWrapper);List<T> selectList(@Param(Constants.WRAPPER) Wrapper<T> queryWrapper);List<Map<String, Object>> selectMaps(@Param(Constants.WRAPPER) Wrapper<T> queryWrapper);List<Object> selectObjs(@Param(Constants.WRAPPER) Wrapper<T> queryWrapper);<E extends IPage<T>> E selectPage(E page, @Param(Constants.WRAPPER) Wrapper<T> queryWrapper);<E extends IPage<Map<String, Object>>> E selectMapsPage(E page, @Param(Constants.WRAPPER) Wrapper<T> queryWrapper);
}

链式查询


@Test
void contextLoads() {QueryWrapper<Employee> wrapper = new QueryWrapper<Employee>().like("last_name", "b").eq("age", 30).eq("gender", 1);employeeMapper.delete(wrapper);
}

自定义分页查询

【参考:Mybatis-plus 自定义分页查询_enjoy嚣士的博客-CSDN博客】

MybatisPlus学习笔记相关推荐

  1. MyBatis-Plus 学习笔记

    MyBatis-Plus 学习笔记 学习官网: https://mp.baomidou.com/guide/ 一.快速入门 1.简介 MyBatis的增强工具,在Mybatis的基础上只做增强功能,兼 ...

  2. MyBatisPlus 学习笔记_MP的AR模式

    狂神说 MyBatisPlus 学习笔记 一.快速入门 文档:https://mp.baomidou.com/ 使用第三方组件: 导入对应依赖 研究依赖如何配置 代码如何编写 提高扩展技术能力 步骤: ...

  3. MyBatisPlus学习笔记【part2】

    MyBatisPlus学习笔记[part2] 一.查询操作 1.通过多个id批量查询 调用selectBatchIds方法. @Test public void testSelect1(){List& ...

  4. 【精简版】MyBatis-Plus学习笔记

    文章目录 1.前言 2.什么是MyBatis-Plus 3.MyBatis-Plus快速入门 3.1 准备工作 3.2 操作流程 3.2.1 根据user表创建实体类 3.2.2 创建Mapper接口 ...

  5. 【Mybatis-Plus 学习笔记】2、日志配置及常用 CRUD

    前言 上一篇文章中我们讲了 Mybatis-Plus 的定义以及相关特点,并从零开始编写了一个 SpringBoot + Mybatis-Plus 的实例.今天我们就来看看,如何利用 MP 来实现对数 ...

  6. Mybatis-plus学习笔记

    Mybatis-plus 一.介绍 1. 概述 官网:https://baomidou.com/ 解释:MyBatis-Plus(简称 MP)是一个MyBatis的一个插件 作用:在 MyBatis ...

  7. MybatisPlus学习笔记(8)----扩展功能

    1.逻辑删除 说明: 只对自动注入的sql起效: 插入: 不作限制 查找: 追加where条件过滤掉已删除数据,且使用 wrapper.entity 生成的where条件会忽略该字段 更新: 追加wh ...

  8. 2.6 springBoot学习笔记(2.6)——- 整合mybatisPlus

    更多文章 更多系列文章在个人网站 springBoot学习系列笔记文章 springBoot学习笔记(1)-- 搭建springBoot项目 文章目录 更多文章 springBoot学习系列笔记文章 ...

  9. MyBatis-Plus(spring版)学习笔记

    目录 前言 1 MyBatis-Plus简介 1.1 简介 1.2 特性 1.3 支持数据库 1.4 框架结构 1.5 代码及文档地址 2 入门案例 2.1 开发环境 2.2 准备工作 2.2.1 创 ...

  10. MybatisPlus学习(四)条件构造器Wrapper方法详解

    https://www.cnblogs.com/xianz666/p/13857733.html MybatisPlus学习(四)条件构造器Wrapper方法详解 文章目录 1.条件构造器 2.Que ...

最新文章

  1. 新手搭建阿里云FTP服务器
  2. 你想学习Java ?资源都在这里了
  3. CSS3 Transitions 你可能不知道的知识点
  4. cfs调度算法JAVA实现_关于CFS/BFS调度算法
  5. 【机器学习实践】Jupyter Notebook安装 侧边导航栏功能 操作及其他常用扩展功能介绍...
  6. 推荐一个Silverlight多文件(大文件)上传的开源项目(转载)
  7. 首张牌照花落“东方购物” 或抬高电视购物门槛
  8. eslint+prettier+husky的配置说明
  9. 第二章 人工智能专题之Python进阶 - Matplotlib库
  10. java刷题--69x的平方根
  11. cisco privilege权限
  12. 微软专利技术介绍系列课程
  13. 得力打印机(DL888D型号)Linux对接——Java+C版
  14. 【小飞象出海】Facebook海外企业广告账户如何申请基本流程
  15. Android Jason数据解析及显示
  16. 华为鸿蒙电脑操作系统测试版,华为鸿蒙OS测试
  17. AndroidO Notification横幅通知(HangUp Notification)
  18. jquery svg恐龙蛇颈龙动画
  19. 数据分析之matplotlib 条形图(六)
  20. mac里python注释的快捷键_新手小白学Python必备编程利器Pycharm快捷键大全(Win+Mac)...

热门文章

  1. Chrome 添加印象笔记网页剪辑插件
  2. Google检索技巧大全
  3. mysql数据库中eof_数据库eof
  4. dsp2812 寄存器总线
  5. 通过adb命令查看手机中sp xml文件
  6. 最简单的非线性动力系统
  7. 模式识别与机器学习(国科大2021-2022秋季学期课程)-基础概念及算法
  8. 放大镜css图标,CSS放大镜的制作
  9. 计算机xp系统ie8,教你能够完全windows XP下IE8的方法
  10. php opencv答题卡,opencv实现答题卡识别