Mybatis-plus中BaseMapper具体方法说明

一、BaseMapper方法详解

1、Insert

// 插入一条记录

int insert(T entity);

2、Delete

// 根据 entity 条件,删除记录

int delete(@Param(Constants.WRAPPER) Wrapper wrapper);

// 删除(id集合 批量删除,不能为 null 以及 empty)——例如参数为:List idList;

int deleteBatchIds(idList);

// 根据 ID 删除

int deleteById(id);

// 根据 columnMap 条件,删除记录

int deleteByMap(@Param(Constants.COLUMN_MAP) Map columnMap);

3、Update

// 根据 whereEntity 条件,更新记录

int update(@Param(Constants.ENTITY) T entity, @Param(Constants.WRAPPER) Wrapper updateWrapper);

// 根据 ID 修改,实体中set id参数,然后将实体直接传入。

int updateById(T entity);

4、Select

// 根据 ID 查询

T selectById(Serializable id);

// 根据 entity 条件,查询一条记录

T selectOne(@Param(Constants.WRAPPER) Wrapper queryWrapper);

// 查询(根据ID 批量查询,与上述删除类似)

List selectBatchIds(@Param(Constants.COLLECTION) Collection idList);

// 根据 entity 条件,查询全部记录,参数为null,查询所有记录

List selectList(@Param(Constants.WRAPPER) Wrapper queryWrapper);

// 查询(根据 columnMap 条件)

List selectByMap(@Param(Constants.COLUMN_MAP) Map columnMap);

// 根据 Wrapper 条件,查询全部记录

List> selectMaps(@Param(Constants.WRAPPER) Wrapper queryWrapper);

// 根据 Wrapper 条件,查询全部记录。注意: 只返回第一个字段的值

List selectObjs(@Param(Constants.WRAPPER) Wrapper queryWrapper);

// 分页查询

IPage selectPage(IPage page, @Param(Constants.WRAPPER) Wrapper queryWrapper);

例如:

Page p = new Page(pageNum, pageSize);

QueryWrapper queryWrapper = new QueryWrapper<>();

//设置查询条件,进行模糊查询

queryWrapper.lambda().like(!StringUtils.isEmpty(indexName),ReportIndexDO::getIndexName,indexName).

eq(!StringUtils.isEmpty(frequency),ReportIndexDO::getReportingFreq,frequency);

xxxMapper.selectPage(p,queryWrapper);

// 根据 Wrapper 条件,查询全部记录(并翻页)

IPage> selectMapsPage(IPage page, @Param(Constants.WRAPPER) Wrapper queryWrapper);

// 根据 Wrapper 条件,查询总记录数

Integer selectCount(@Param(Constants.WRAPPER) Wrapper queryWrapper);

二、BaseMapper方法实例

public class lkmMapper {

@Resource

private UserMapper userMapper;

/**

* 获取所有用户

*/

@Test

public void selectList(){

userMapper.selectList(null);

}

/**

* 根据指定条件 查询符合条件的用户 (selectList传参数的查询形式)

*/

@Test

public void selectAllList(){

QueryWrapper queryWrapper = new QueryWrapper<>();

queryWrapper.ge("name",lkm);

userMapper.selectList(queryWrapper);

}

/**

* 根据 id 查询指定用户

*/

@Test

public void selectById(){

userMapper.selectById(001);

}

/**

* 根据 ID 批量查询用户

*/

@Test

public void selectBatchIds(){

List integers = Arrays.asList(1,2,3);

userMapper.selectBatchIds(integers);

}

/**

* 根据 Map搜索条件查询指定条件下的用户

*/

@Test

public void selectByMap(){

Map map = new HashMap<>();

map.put("name","lkm");

userMapper.selectByMap(map);

}

/**

* wrapper 查询一条数据

*/

@Test

public void selectOne(){

QueryWrapper queryWrapper = new QueryWrapper<>();

queryWrapper.eq("name","lkm");

userMapper.selectOne(queryWrapper);

}

/**

* 根据指定条件查询符合条件的记录数

*/

@Test

public void selectCount(){

QueryWrapper queryWrapper = new QueryWrapper<>();

queryWrapper.gt("name",lkm);

userMapper.selectCount(queryWrapper);

}

/**

* 根据指定条件查询用户

*/

@Test

public void selectMaps(){

QueryWrapper queryWrapper = new QueryWrapper<>();

queryWrapper.ge("name",lkm);

userMapper.selectMaps(queryWrapper);

}

/**

* 根据指定条件查询符合条件的用户 (只返回第一个字段值)

*/

@Test

public void selectObjs(){

QueryWrapper queryWrapper = new QueryWrapper<>();

queryWrapper.ge("name",lkm);

userMapper.selectObjs(queryWrapper);

}

/**

* 查询所有用户并分页

*/

@Test

public void selectPage(){

Page p = new Page(pageNum, pageSize);

QueryWrapper queryWrapper = new QueryWrapper<>();

reportIndexMapper.selectPage(p,queryWrapper)

}

/**

* 查询所有用户并分页

*/

@Test

public void selectMapsPage(){

Page page = new Page<>(1,2);

IPage> mapIPage = userMapper.selectMapsPage(page, null);

List> records = mapIPage.getRecords();

}

/**

* 插入一条记录

*/

@Test

public void insert(){

User user = new User();

user.setUsername("lkm");

userMapper.insert(user);

}

/**

* 根据ID删除一条记录

*/

@Test

public void deleteById(){

userMapper.deleteById(001);

}

/**

* 根据指定 Map 条件删除记录

*/

@Test

public void deleteByMap(){

Map map = new HashMap<>();

map.put("name",lkm);

userMapper.deleteByMap(map);

}

/**

* 根据指定 Wrapper 条件删除记录

*/

@Test

public void delete(){

QueryWrapper queryWrapper = new QueryWrapper<>();

queryWrapper.likeRight("name","lkm");

userMapper.delete(queryWrapper);

}

/**

* 根据指定ID批量删除记录

*/

@Test

public void deleteBatchIds(){

List integers = Arrays.asList(001, 002);

userMapper.deleteBatchIds(integers);

}

/**

* 根据指定条件更新记录

*/

@Test

public void update(){

User user = new User();

user.setEmail("lkm@qq.com");

UpdateWrapper updateWrapper = new UpdateWrapper<>();

updateWrapper.eq("name","lkm");

userMapper.update(user, updateWrapper);

}

/**

* 指定ID 更新记录

*/

@Test

public void updateById(){

User user = new User();

user.setId(001);

user.setNmae("lkm");

userMapper.updateById(user);

}