一、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