MyBatis-Plus的Mapper CRUD接口
友链:
📝代码自动生成器
生成entity、mapper、service、controller代码的同时,为实体类中的主键生成策略、自动填充、逻辑删除、Swagger注释添加注解。
查询
查询单个用户:T selectById(Serializable id);
userMapper.selectById(1)
查询多个用户:List
selectBatchIds(Collection<? extends Serializable> idList);
selectBatchIds(Arrays.asList(1,2,3))
条件查询
条件查询单个用户wrapper
T selectOne(WrapperqueryWrapper);
条件查询map
ListselectByMap(Map<String, Object> columnMap);
HashMap<String,Object> map = new HashMap<>();
// 自定义查询
map.put("name","admin") //查名字
map.put("age",18) // 查年龄
userMapper.selectByMap(map);
条件查询全部wrapper
ListselectList(Wrapper queryWrapper);
条件查询全部wrapper
List<Map<String, Object>> selectMaps(WrapperqueryWrapper);
条件查询全部wrapper(只返回第一个字段的值)
List<Object> selectObjs(Wrapper<T> queryWrapper);
分页查询
IPage
selectPage(IPage page,Wrapper queryWrapper);
Page<User> page = new Page<>(1,5) // current size
userMapper.selectPage(page,null)
page.getRecords().forEach(System.out::println)
IPage<Map<String, Object>> selectMapsPage(IPage
page, Wrapper queryWrapper);
个数查询
根据条件,查询总记录数
Integer selectCount(WrapperqueryWrapper);
插入
int insert(T entity);
public void insertUser(){
User user = new User();
user.setName("xiaoming");
user.setPassword(123456);
int result = userMapper.insert(user);
System.out.println(result); // 受影响的行数
System.out.println(user); // 结果会自动回填
}
更新
int updateById(T entity);
public void updateUserById(){
User user = new User();
user.setId("1")
user.setName("xiaoming123");
int result = userMapper.updateById(user);
System.out.println(result); // 受影响的行数
System.out.println(user); // 结果会自动回填
}
public void updateUserById(){
// 1. 查询用户信息
User user = userMapper.selectById(1);
// 2. 更新用户信息
user.setName("xiaoming123");
// 3. 执行更新操作
userMapper.updateById(user);
}
条件更新wrapper:int update(T entity, Wrapper
updateWrapper);
删除
根据Id删除:int deleteById(Serializable id);
批量删除:int deleteBatchIds(Collection<? extends Serializable> idList);
条件删除wrapper:int delete(Wrapper
wrapper);
条件删除map:int deleteByMap(Map<String, Object> columnMap);