五分钟带你走入MP
一、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的更多相关文章
- Python专题——五分钟带你了解map、reduce和filter
本文始发于个人公众号:TechFlow,原创不易,求个关注 今天是Python专题第6篇文章,给大家介绍的是Python当中三个非常神奇的方法:map.reduce和filter. 不知道大家看到ma ...
- 五分钟带你深入了解Redis
相信phper都知道Redis是什么,既然如此,为表仪式感,首先我还是得说说什么是Redis. Redis是什么 redis是一个高性能的key-value数据库,它是完全开源免费的,而且redis是 ...
- Python——五分钟带你弄懂迭代器与生成器,夯实代码能力
本文始发于个人公众号:TechFlow,原创不易,求个关注 今天是周一Python专题,给大家带来的是Python当中生成器和迭代器的使用. 我当初第一次学到迭代器和生成器的时候,并没有太在意,只是觉 ...
- 五分钟带你读懂 堆 —— heap(内含JavaScript代码实现!!)
一.概念 说起堆,我们就想起了土堆,把土堆起来,当我们要用土的时候,首先用到最上面的土.类似地,堆其实是一种优先队列,按照某种优先级将数字"堆"起来,每次取得时候从堆顶取. 堆 ...
- 五分钟带你入门TensorFlow
TensorFlow是Google开源的一款人工智能学习系统.为什么叫这个名字呢?Tensor的意思是张量,代表N维数组:Flow的意思是流,代表基于数据流图的计算.把N维数字从流图的一端流动到另一端 ...
- 五分钟带你读懂 TCP全连接队列(图文并茂)
爱生活,爱编码,微信搜一搜[架构技术专栏]关注这个喜欢分享的地方. 本文 架构技术专栏 已收录,有各种视频.资料以及技术文章. 一.问题 今天有个小伙伴跑过来告诉我有个奇怪的问题需要协助下,问题确实也 ...
- OpenCV开发笔记(五十五):红胖子8分钟带你深入了解Haar、LBP特征以及级联分类器识别过程(图文并茂+浅显易懂+程序源码)
若该文为原创文章,未经允许不得转载原博主博客地址:https://blog.csdn.net/qq21497936原博主博客导航:https://blog.csdn.net/qq21497936/ar ...
- OpenCV开发笔记(五十六):红胖子8分钟带你深入了解多种图形拟合逼近轮廓(图文并茂+浅显易懂+程序源码)
若该文为原创文章,未经允许不得转载原博主博客地址:https://blog.csdn.net/qq21497936原博主博客导航:https://blog.csdn.net/qq21497936/ar ...
- OpenCV开发笔记(六十五):红胖子8分钟带你深入了解ORB特征点(图文并茂+浅显易懂+程序源码)
若该文为原创文章,未经允许不得转载原博主博客地址:https://blog.csdn.net/qq21497936原博主博客导航:https://blog.csdn.net/qq21497936/ar ...
随机推荐
- style,ng-style, ng-attr-style的对比
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <script sr ...
- CSS常用伪类
css伪类 :after 在元素后面插入内容 :hover 鼠标移入时进行 :before 在元素前面插入内容 :link 未选中的链接 :active 点击后产生什么变化 :nth-child 匹配 ...
- TCP协议三次握手、四次挥手
TCP的概述 TCP 把连接作为最基本的对象,每一条 TCP 连接都有两个端点,这种断点我们叫作套接字(socket),它的定义为端口号拼接到 IP 地址即构成了套接字,例如,若 IP 地址为 192 ...
- 3分钟快速presentation
来自英语课的一个练习: https://www.youtube.com/watch?v=ePY3uY1L0X0 next up I'd like to welcome Joshua to ten he ...
- guxh的python笔记二:函数基础
1,函数的参数 1.1,查看函数的参数类型 def run(a, *args, b, **kwargs): return a + b 可以通过如下方式查看参数类型: import inspect k ...
- 8个让DevOps转型取得成功的关键步骤
关注嘉为科技,获取运维新知 在数字化时代,企业需要更快更灵活的交付来支持业务运营,这种迫切的需求促成了DevOps的高速发展,成为了企业获得竞争优势的关键.尽管大家都知道DevOps给业务带来的好 ...
- javascript里文字选中/选中文字
一.获取/清除选中的文字 //获取选中的文字 document.getElementById("get").onclick = function () { var txt = wi ...
- 『计算机视觉』Mask-RCNN_训练网络其三:训练Model
Github地址:Mask_RCNN 『计算机视觉』Mask-RCNN_论文学习 『计算机视觉』Mask-RCNN_项目文档翻译 『计算机视觉』Mask-RCNN_推断网络其一:总览 『计算机视觉』M ...
- SAP WDA 自建Portal
1.新建Package:ZWDA. 2.新建Portal用户表:ZPORTAL_USER 上图中是基于CRM的BP来做的用户表,如果针对其他系统可以使用组织架构里的角色用户... 3.新建用户视图配置 ...
- python画箱线图
# -*- coding: utf-8 -*- """ Created on Wed Jun 14 13:00:11 2017 @author: Miao "& ...