MyBatis Plus框架提供了BaseMapper接口,该接口封装了常见的CRUD(增删改查)操作方法。下面是BaseMapper提供的部分方法及其功能说明:
-
insert(T entity):插入一条数据
T entity = new T(); // 创建实体对象 baseMapper.insert(entity); // 插入数据
-
insertBatch(List entityList):批量插入数据
List<T> entityList = new ArrayList<>(); // 添加多条实体对象到entityList中 baseMapper.insertBatch(entityList); // 批量插入数据
-
insertOrUpdate(T entity):插入或更新数据
T entity = new T(); // 创建实体对象 baseMapper.insertOrUpdate(entity); // 插入或更新数据
-
deleteById(Serializable id):根据主键ID删除数据
Serializable id = 1L; // 要删除的实体的主键ID baseMapper.deleteById(id); // 删除数据
-
deleteByMap(Map<String, Object> columnMap):根据条件删除数据
Map<String, Object> columnMap = new HashMap<>(); columnMap.put("name", "Tom"); // 设置删除条件,这里以name字段等于"Tom"为例 baseMapper.deleteByMap(columnMap); // 删除满足条件的数据
-
delete(Wrapper wrapper):根据条件删除数据
// 创建Wrapper对象,设置删除条件 LambdaQueryWrapper<T> wrapper = new LambdaQueryWrapper<>(); wrapper.eq(T::getName, "Tom"); // 设置删除条件,这里以name字段等于"Tom"为例 baseMapper.delete(wrapper); // 删除满足条件的数据
-
deleteBatchIds(Collection<? extends Serializable> idList):根据主键ID批量删除数据
Collection<? extends Serializable> idList = Arrays.asList(1L, 2L, 3L); // 要删除的实体的主键ID列表 baseMapper.deleteBatchIds(idList); // 批量删除数据
-
updateById(T entity):根据主键ID更新数据
T entity = new T(); // 创建实体对象 entity.setId(1L); // 设置要更新的实体的主键ID baseMapper.updateById(entity); // 更新数据
-
update(T entity, Wrapper updateWrapper):根据条件更新数据
T entity = new T(); // 创建实体对象 // 创建Wrapper对象,设置更新条件 LambdaUpdateWrapper<T> updateWrapper = new LambdaUpdateWrapper<>(); updateWrapper.eq(T::getName, "Tom"); // 设置更新条件,这里以name字段等于"Tom"为例 baseMapper.update(entity, updateWrapper); // 更新满足条件的数据
-
selectById(Serializable id):根据主键ID查询数据
Serializable id = 1L; // 要查询的实体的主键ID T entity = baseMapper.selectById(id); // 查询数据
-
selectBatchIds(Collection<? extends Serializable> idList):根据主键ID批量查询数据
Collection<? extends Serializable> idList = Arrays.asList(1L, 2L, 3L); // 要查询的实体的主键ID列表 List<T> entityList = baseMapper.selectBatchIds(idList); // 批量查询数据
-
selectByMap(Map<String, Object> columnMap):根据条件查询数据
Map<String, Object> columnMap = new HashMap<>(); columnMap.put("name", "Tom"); // 设置查询条件,这里以name字段等于"Tom"为例 List<T> entityList = baseMapper.selectByMap(columnMap); // 查询满足条件的数据
-
selectOne(Wrapper queryWrapper):根据条件查询单条数据
// 创建Wrapper对象,设置查询条件 LambdaQueryWrapper<T> queryWrapper = new LambdaQueryWrapper<>(); queryWrapper.eq(T::getName, "Tom"); // 设置查询条件,这里以name字段等于"Tom"为例 T entity = baseMapper.selectOne(queryWrapper); // 查询满足条件的数据
-
selectCount(Wrapper queryWrapper):根据条件查询数据总数
// 创建Wrapper对象,设置查询条件 LambdaQueryWrapper<T> queryWrapper = new LambdaQueryWrapper<>(); queryWrapper.eq(T::getName, "Tom"); // 设置查询条件,这里以name字段等于"Tom"为例 int count = baseMapper.selectCount(queryWrapper); // 查询满足条件的数据总数
-
selectList(Wrapper queryWrapper):根据条件查询数据列表
// 创建Wrapper对象,设置查询条件 LambdaQueryWrapper<T> queryWrapper = new LambdaQueryWrapper<>(); queryWrapper.eq(T::getAge, 18); // 设置查询条件,这里以age字段等于18为例 List<T> entityList = baseMapper.selectList(queryWrapper); // 查询满足条件的数据列表
-
selectMaps(Wrapper queryWrapper):根据条件查询数据列表,并返回Map集合
// 创建Wrapper对象,设置查询条件 LambdaQueryWrapper<T> queryWrapper = new LambdaQueryWrapper<>(); queryWrapper.eq(T::getAge, 18); // 设置查询条件,这里以age字段等于18为例 List<Map<String, Object>> mapList = baseMapper.selectMaps(queryWrapper); // 查询满足条件的数据列表,并返回Map集合
-
selectPage(Page page, Wrapper queryWrapper):根据条件分页查询数据
// 创建Wrapper对象,设置查询条件 LambdaQueryWrapper<T> queryWrapper = new LambdaQueryWrapper<>(); queryWrapper.eq(T::getAge, 18); // 设置查询条件,这里以age字段等于18为例 Page<T> page = new Page<>(1, 10); // 创建分页对象,设置当前页和每页显示数量 IPage<T> pageResult = baseMapper.selectPage(page, queryWrapper); // 分页查询满足条件的数据 List<T> entityList = pageResult.getRecords(); // 当前页的数据列表 long total = pageResult.getTotal(); // 总记录数
以上就是MyBatis Plus框架的BaseMapper提供的部分CRUD方法及其功能说明。这些方法可以方便地进行数据库操作,并且使用简单、灵活。