简介
(简称 MP)是一个 MyBatis 的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。
MP提供了很多常用的CRUD接口可以帮助我们提升开发效率。
今天试了下,确实不错 列举几个不错的方法记录下方便日后查阅同时给需要的朋友提供下demo。
诸如insert deleteById selctById 此类 常见的就不列举了
deleteByMap
可直接根据列名删除某条数据
/**
* <p>
* 根据 columnMap 条件,删除记录
* </p>
*
* @param columnMap 表字段 map 对象
* @return 删除成功记录数
*/
int deleteByMap(@Param(Constants.COLUMN_MAP) Map<String, Object> columnMap);
示例
//删除name列为马冬梅的数据 如果存在重名 会一起删除
Map<String, Object> columnMap = new HashMap<>();
columnMap.put("name","马冬梅");
userMapper.deleteByMap(columnMap);
delete
条件删除,厉害了...
/**
* <p>
* 根据 entity 条件,删除记录
* </p>
*
* @param queryWrapper 实体对象封装操作类(可以为 null)
* @return 删除成功记录数
*/
int delete(@Param(Constants.WRAPPER) Wrapper<T> queryWrapper);
示例
/*
个别参数说明:
params : key为数据库字段名,value为字段值
null2IsNull : 为true则在map的value为null时调用 isNull 方法
DELETE FROM user WHERE email IS NULL
为false时则忽略value为null的 慎用..
DELETE FROM user
*/
Map<String, Object> columnMap = new HashMap<>();
columnMap.put("email",null);
userMapper.delete(new QueryWrapper<User>().allEq(columnMap,false));
deleteBatchIds
批量删除,没啥好说的
/**
* <p>
* 删除(根据ID 批量删除)
* </p>
*
* @param idList 主键ID列表(不能为 null 以及 empty)
* @return 删除成功记录数
*/
int deleteBatchIds(@Param(Constants.COLLECTION) Collection<? extends Serializable> idList);
示例
/**
* 批量删除
* Col