一、MyBatis-Plus简介

1.1MyBatis-Plus是什么?

MyBatis-Plus(简称 MP)是一个 MyBatis 的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。

快速开发特别方法,内部封装了常用的CRUD操作,简单好用。

1.2为什么使用MyBatis-Plus?

1.3 核心原理是什么?

通过扫描对应的实体类,解析出对应的数据库表的字段名称,根据默认的方法,生成对应的sql语句(解析映射类,对应的注解),代理模式生成对应dao层接口的实现类。

二、MyBatis-plus初体验

2.1 创建SpringBoot项目

创建基于SpringBoot的项目,并且完成相关依赖,数据库、数据库连接池、MyBatis-Plus、Spring、SpringMVC。

2.2 准备数据库

create database db_mp;

use db_mp;

create table work(id int primary key AUTO_INCREMENT,name varchar(20),address varchar(30),money int,createtime datetime);

2.3 使用代码生成器

使用MP自带的代码生成器,完成对应代码的生成。

代码生成器项目链接:

2.4 拷贝对应的代码

按照传统的三层模式,完成对应的代码

2.5 配置

开关类上需要使用注解@MapperScan进行扫描dao层接口

配置文件中,需要设置数据库相关的配置

在需要在配置中,设置mapper文件的路径

2.6 启动

启动项目,在浏览器中访问项目。

2.7 测试

对写好的CRUD接口进行测试。

三、MyBatis-Plus热门操作

3.1 分页

内部使用了IPage<T>接口,我们只需要创建Page对象,并且设置当前的页码和每页显示的数量就可以了。

//分页查询

@ApiOperation(value = "分页查询")

@GetMapping("work/page.do")

public List<Work> page(int page,int limit){

    Page<Work> page1=new Page<>(page,limit);

    return workService.page(page1).getRecords();

}

3.2 条件查询

我们在开发中难免要使用动态条件查询,而Mybatis-Plus也是封装好了,查询接口为Wrapper<T>,而我们在使用的时候,可以创建QueryWrapper<T>对象,实现动态查询的拼接。
//动态条件查询

@ApiOperation(value = "动态查询")

@GetMapping("work/query.do")

public List<Work> query(String name){

    QueryWrapper<Work> queryWrapper=new QueryWrapper<>();

    queryWrapper.eq("name",name);

    return workService.list(queryWrapper);

}
 

源码地址:https://github.com/xingpenghui/Mybatisplus_Sys.git

五分钟带你走入MP的更多相关文章

  1. Python专题——五分钟带你了解map、reduce和filter

    本文始发于个人公众号:TechFlow,原创不易,求个关注 今天是Python专题第6篇文章,给大家介绍的是Python当中三个非常神奇的方法:map.reduce和filter. 不知道大家看到ma ...

  2. 五分钟带你深入了解Redis

    相信phper都知道Redis是什么,既然如此,为表仪式感,首先我还是得说说什么是Redis. Redis是什么 redis是一个高性能的key-value数据库,它是完全开源免费的,而且redis是 ...

  3. Python——五分钟带你弄懂迭代器与生成器,夯实代码能力

    本文始发于个人公众号:TechFlow,原创不易,求个关注 今天是周一Python专题,给大家带来的是Python当中生成器和迭代器的使用. 我当初第一次学到迭代器和生成器的时候,并没有太在意,只是觉 ...

  4. 五分钟带你读懂 堆 —— heap(内含JavaScript代码实现!!)

    一.概念  说起堆,我们就想起了土堆,把土堆起来,当我们要用土的时候,首先用到最上面的土.类似地,堆其实是一种优先队列,按照某种优先级将数字"堆"起来,每次取得时候从堆顶取.  堆 ...

  5. 五分钟带你入门TensorFlow

    TensorFlow是Google开源的一款人工智能学习系统.为什么叫这个名字呢?Tensor的意思是张量,代表N维数组:Flow的意思是流,代表基于数据流图的计算.把N维数字从流图的一端流动到另一端 ...

  6. 五分钟带你读懂 TCP全连接队列(图文并茂)

    爱生活,爱编码,微信搜一搜[架构技术专栏]关注这个喜欢分享的地方. 本文 架构技术专栏 已收录,有各种视频.资料以及技术文章. 一.问题 今天有个小伙伴跑过来告诉我有个奇怪的问题需要协助下,问题确实也 ...

  7. OpenCV开发笔记(五十五):红胖子8分钟带你深入了解Haar、LBP特征以及级联分类器识别过程(图文并茂+浅显易懂+程序源码)

    若该文为原创文章,未经允许不得转载原博主博客地址:https://blog.csdn.net/qq21497936原博主博客导航:https://blog.csdn.net/qq21497936/ar ...

  8. OpenCV开发笔记(五十六):红胖子8分钟带你深入了解多种图形拟合逼近轮廓(图文并茂+浅显易懂+程序源码)

    若该文为原创文章,未经允许不得转载原博主博客地址:https://blog.csdn.net/qq21497936原博主博客导航:https://blog.csdn.net/qq21497936/ar ...

  9. OpenCV开发笔记(六十五):红胖子8分钟带你深入了解ORB特征点(图文并茂+浅显易懂+程序源码)

    若该文为原创文章,未经允许不得转载原博主博客地址:https://blog.csdn.net/qq21497936原博主博客导航:https://blog.csdn.net/qq21497936/ar ...

随机推荐

  1. style,ng-style, ng-attr-style的对比

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <script sr ...

  2. CSS常用伪类

    css伪类 :after 在元素后面插入内容 :hover 鼠标移入时进行 :before 在元素前面插入内容 :link 未选中的链接 :active 点击后产生什么变化 :nth-child 匹配 ...

  3. TCP协议三次握手、四次挥手

    TCP的概述 TCP 把连接作为最基本的对象,每一条 TCP 连接都有两个端点,这种断点我们叫作套接字(socket),它的定义为端口号拼接到 IP 地址即构成了套接字,例如,若 IP 地址为 192 ...

  4. 3分钟快速presentation

    来自英语课的一个练习: https://www.youtube.com/watch?v=ePY3uY1L0X0 next up I'd like to welcome Joshua to ten he ...

  5. guxh的python笔记二:函数基础

    1,函数的参数 1.1,查看函数的参数类型 def run(a, *args, b, **kwargs): return a + b 可以通过如下方式查看参数类型: import inspect k ...

  6. 8个让DevOps转型取得成功的关键步骤

    ​​关注嘉为科技,获取运维新知 在数字化时代,企业需要更快更灵活的交付来支持业务运营,这种迫切的需求促成了DevOps的高速发展,成为了企业获得竞争优势的关键.尽管大家都知道DevOps给业务带来的好 ...

  7. javascript里文字选中/选中文字

    一.获取/清除选中的文字 //获取选中的文字 document.getElementById("get").onclick = function () { var txt = wi ...

  8. 『计算机视觉』Mask-RCNN_训练网络其三:训练Model

    Github地址:Mask_RCNN 『计算机视觉』Mask-RCNN_论文学习 『计算机视觉』Mask-RCNN_项目文档翻译 『计算机视觉』Mask-RCNN_推断网络其一:总览 『计算机视觉』M ...

  9. SAP WDA 自建Portal

    1.新建Package:ZWDA. 2.新建Portal用户表:ZPORTAL_USER 上图中是基于CRM的BP来做的用户表,如果针对其他系统可以使用组织架构里的角色用户... 3.新建用户视图配置 ...

  10. python画箱线图

    # -*- coding: utf-8 -*- """ Created on Wed Jun 14 13:00:11 2017 @author: Miao "& ...