注解TableId/TableField
@TableId(type = IdType.AUTO) //指定id类型为自增长
@TableField解决两个问题:
1)对象中的属性名和字段名不一致的问题(非驼峰)@TableField(value=“email”)
2)标注对象中的属性字段在表中不存在的问题 @TableField(exist=false)
3)标注查询时不返回 @TableField(select=false)
update
updateWrapper的使用方式
User user = new User();
user.setAge(22); //更新的字段
//更新的条件
QueryWrapper wrapper = new QueryWrapper<>();
wrapper.eq("id", 6);
int result = this.userMapper.update(user, wrapper);
//更新的条件以及字段
UpdateWrapper<User> wrapper = new UpdateWrapper<>();
wrapper.eq("id", 6).set("age", 23);
//执行更新操作
int result = this.userMapper.update(null, wrapper);
delete
Map<String, Object> columnMap = new HashMap<>();
columnMap.put("age",21);
columnMap.put("name","李四");
//将columnMap中的元素设置为删除的条件,多个之间为and关系
int result = this.userMapper.deleteByMap(columnMap);
//有参构造的方式传入wrapper,也可以用wrapper来传值
User user = new User();
user.setAge(20);
user.setName("李四");
//将实体对象进行包装,包装为操作条件
QueryWrapper<User> wrapper = new QueryWrapper<>(user);
int result = this.userMapper.delete(wrapper);
分页查询
分页查询需要先引入分页插件
@Configuration
@MapperScan("com.ftcs.mp.mapper") //设置mapper接口的扫描包
public class MybatisPlusConfig {
/**
* 分页插件
*/
@Bean
public PaginationInterceptor paginationInterceptor() {
return new PaginationInterceptor();
}
}