上一篇讲的是MybatisPlus的MP注解用法和简单介绍 传送门
(跟上一篇是同一个项目)先来创一个Springboot测试项目
创建一个数据库
-- 创建表
CREATE TABLE t_employee(
id INT(11) PRIMARY KEY AUTO_INCREMENT,
user_name VARCHAR(50),
email VARCHAR(50),
gender CHAR(1),
age INT
);
INSERT INTO t_employee(user_name,email,gender,age) VALUES('Tom','tom@qq.com',1,22);
INSERT INTO t_employee(user_name,email,gender,age) VALUES('Jerry','jerry@qq.com',0,25);
INSERT INTO t_employee(user_name,email,gender,age) VALUES('Black','black@qq.com',1,30);
INSERT INTO t_employee(user_name,email,gender,age) VALUES('White','white@qq.com',0,35);
创建一个实体类
记得给get、set和tostring
//名称一致时,此注解可以省略
public class t_employee {
//主键生成策略,value属性可选,当属性名与表中的列名不一致,必填
private Integer id;//编号
private String userName;//用户名
private String email;//邮箱
private Integer gender;//性别
private Integer age;//年龄
...
记得给get、set和tostring
Mapper接口
在dao包下创建EmployeeMapper接口,继承BaseMapper接口,不用编写xml映射文件
public interface EmployeeMapper extends BaseMapper<Employee> {
}
条件构造器
构造器简介
Mybatis-Plus 通过 QueryWrapper(简称 QW,MP 封装的一个查询条件构造器)来让用户自由的构建查询条件,简单便捷,没有额外的负担, 能够有效提高开发效率
实体包装器,主要用于处理 sql 拼接,排序,实体参数查询等
注意: 使用的是
数据库表字段
,不是 Java 属性!
条件参数
具体条件参数详细用法可参考MP官方文档
https://mp.baomidou.com/guide/wrapper.html
delete删除操作
MP删除的方法
具体参考BaseMapper接口源码
/**
* 根据 ID 删除
*
* @param id 主键ID
*/
int deleteById(Serializable id);
/**
* 根据 columnMap 条件,删除记录
*
* @param columnMap 表字段 map 对象
*/
int deleteByMap(@Param(Constants.COLUMN_MAP) Map<String, Object> columnMap);
/**
* 根据 entity 条件,删除记录
*
* @param wrapper 实体对象封装操作类(可以为 null)
*/
int delete(@Param(Constants.WRAPPER) Wrapper<T> wrapper);
/**
* 删除(根据ID 批量删除)
*
* @param idList 主键ID列表(不能为 null 以及 empty)
*/
int deleteBatchIds(