ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
``` /** * @author 张跃帅 * @Description: mybatis-plus自定义mapper增强-接口 * @date 2020/08/12 */ public interface MyBaseMapper<T> extends BaseMapper<T> { /** * 自定义-分页查询 */ default PageResult<T> getPage(Object searchObj, Wrapper<T> queryWrapper) { // 设置分页和排序字段及排序方式 Page<T> mpPage = PageFactory.getPage(searchObj); // 查询全部记录(并翻页) Page<T> finalMpPage = this.selectPage(mpPage, queryWrapper); // 分页结果 PageResult<T> pageResult = PageResultFactory.pageResult(finalMpPage); // 返回 return pageResult; } /** * 改造selectPage-分页查询 * 备注:实现自定义的分页工厂 */ default Page<T> selectPage(Object searchObj, Wrapper<T> queryWrapper) { // 设置分页和排序字段及排序方式 Page<T> mpPage = PageFactory.getPage(searchObj); // 查询全部记录(并翻页) Page<T> finalMpPage = this.selectPage(mpPage, queryWrapper); // 返回 return finalMpPage; } /** * 批量插入-适合大量数据插入 * * @param entityList 实体List */ default boolean insertBatch(Collection<T> entityList) { return Db.saveBatch(entityList); } /** * 批量插入-适合大量数据插入 * * @param entityList 实体List * @param size 插入数量-默认为 1000 */ default boolean insertBatch(Collection<T> entityList, int size) { return Db.saveBatch(entityList, size); } /** * 根据ID批量更新-适合大量数据更新 * * @param entityList 实体List */ default boolean updateBatch(Collection<T> entityList) { return Db.updateBatchById(entityList); } /** * 根据ID批量更新-适合大量数据更新 * * @param entityList 实体List * @param size 更新数量-默认为 1000 */ default boolean updateBatch(Collection<T> entityList, int size) { return Db.updateBatchById(entityList, size); } /** * 批量修改插入-根据实体的主键是否为空,更新还是修改 * 默认为 1000 * * @param entityList 实体List */ default boolean saveOrUpdateBatch(Collection<T> entityList) { return Db.saveOrUpdateBatch(entityList); } }