mybatis|Mybatis-plus通用CRUD

1.通用CRUD 【mybatis|Mybatis-plus通用CRUD】在BaseMapper里面封装了很多方法 BaseMapper继承了Mapper 下面对BaseMapper里面的方法做详解
1.1添加
insert
添加只有一个方法insert 和通用Mapper的没有什么区别 但是要注意的是Mybatis-plus会随机生成主键id 必须要载实体类加上自动增长@TableId(type = IdType.AUTO) 否则就会使用Mybatis-plus生成的随机id 下次自动增长就会从Mybatis-plus生成的id开始

/** * 插入一条记录 * * @param entity 实体对象 */ int insert(T entity);

mybatis|Mybatis-plus通用CRUD
文章图片

1.2删除
deleteById
根据ID删除 返回一个int类型 受影响的行数
/** * 根据 ID 删除 * * @param id 主键ID */ int deleteById(Serializable id);

mybatis|Mybatis-plus通用CRUD
文章图片

deleteByMap
根据Map里面的key和value来删除数据 key对应数据列名 value对应值 只有符合map的条件就会删除
/** * 根据 columnMap 条件,删除记录 * * @param columnMap 表字段 map 对象 */ int deleteByMap(@Param(Constants.COLUMN_MAP) Map columnMap);

mybatis|Mybatis-plus通用CRUD
文章图片

delete
根据Wrapper里面封装的条件来删除数据 有两种实现方式
/** * 根据 entity 条件,删除记录 * * @param wrapper 实体对象封装操作类(可以为 null) */ int delete(@Param(Constants.WRAPPER) Wrapper wrapper);

方式一:直接通过warpper封装条件 删除数据
mybatis|Mybatis-plus通用CRUD
文章图片

方式二:间接封装条件
mybatis|Mybatis-plus通用CRUD
文章图片

deleteBatchIds
批量删除数据
/** * 删除(根据ID 批量删除) * * @param idList 主键ID列表(不能为 null 以及 empty) */ int deleteBatchIds(@Param(Constants.COLLECTION) Collection idList);

mybatis|Mybatis-plus通用CRUD
文章图片

1.3修改
updateById
根据id修改
/** * 根据 ID 修改 * * @param entity 实体对象 */ int updateById(@Param(Constants.ENTITY) T entity);

mybatis|Mybatis-plus通用CRUD
文章图片

update
根据条件修改 有两种方式 一种直接封装条件另一种间接封装条件 根据Wrapper条件来修改数据
/** * 根据 whereEntity 条件,更新记录 * * @param entity实体对象 (set 条件值,可以为 null) * @param updateWrapper 实体对象封装操作类(可以为 null,里面的 entity 用于生成 where 语句) */ int update(@Param(Constants.ENTITY) T entity, @Param(Constants.WRAPPER) Wrapper updateWrapper);

方式一:间接的封装数据
mybatis|Mybatis-plus通用CRUD
文章图片

方式二:直接封装数据
mybatis|Mybatis-plus通用CRUD
文章图片

1.4查询
selectById
根据ID查询
/** * 根据 ID 查询 * * @param id 主键ID */ T selectById(Serializable id);

mybatis|Mybatis-plus通用CRUD
文章图片

selectBatchIds
批量查询 想当于sql语句的in 只要符合的 就会查询出来
/** * 查询(根据ID 批量查询) * * @param idList 主键ID列表(不能为 null 以及 empty) */ List selectBatchIds(@Param(Constants.COLLECTION) Collection idList);

mybatis|Mybatis-plus通用CRUD
文章图片

selectOne
根据Wrapper查询一条记录 如果查询到两条记录就会报错
/** * 根据 entity 条件,查询一条记录 * * @param queryWrapper 实体对象封装操作类(可以为 null) */ T selectOne(@Param(Constants.WRAPPER) Wrapper queryWrapper);

mybatis|Mybatis-plus通用CRUD
文章图片

selectCount
根据Wrapper条件 查询总记录数
/** * 查询(根据 columnMap 条件) * * @param columnMap 表字段 map 对象 */ List selectByMap(@Param(Constants.COLUMN_MAP) Map columnMap);

mybatis|Mybatis-plus通用CRUD
文章图片

selectList
根据Wrapper条件 查询所有记录 如果想查询所有记录 直接null
/** * 根据 entity 条件,查询全部记录 * * @param queryWrapper 实体对象封装操作类(可以为 null) */ List selectList(@Param(Constants.WRAPPER) Wrapper queryWrapper);

mybatis|Mybatis-plus通用CRUD
文章图片

selectPage
根据entify条件查询数据 并进行分页 IPage里面封装了分页的API 当前页 总页数据…等
/** * 根据 entity 条件,查询全部记录(并翻页) * * @param page分页查询条件(可以为 RowBounds.DEFAULT) * @param queryWrapper 实体对象封装操作类(可以为 null) */ IPage selectPage(IPage page, @Param(Constants.WRAPPER) Wrapper queryWrapper);

mybatis|Mybatis-plus通用CRUD
文章图片

    推荐阅读