-
引入mybatis-plus-stater
<dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-boot-starter</artifactId> <version>3.4.1</version> </dependency>
-
编写mybatis-plus config类
@Configuration @MapperScan("com.ywxk.demo3.mapper") public class MybatisPlusConfig { /** * 新的分页插件,一缓和二缓遵循mybatis的规则,需要设置 MybatisConfiguration#useDeprecatedExecutor = false 避免缓存出现问题(该属性会在旧插件移除后一同移除) */ @Bean public MybatisPlusInterceptor mybatisPlusInterceptor() { MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor(); PaginationInnerInterceptor paginationInnerInterceptor = new PaginationInnerInterceptor(DbType.H2); //设置分页循环,如果超过最后一页,返回第一页 paginationInnerInterceptor.setOverflow(true); //设置单页查询上限 paginationInnerInterceptor.setMaxLimit(1000L); interceptor.addInnerInterceptor(paginationInnerInterceptor); return interceptor; } @Bean public ConfigurationCustomizer configurationCustomizer() { return configuration -> configuration.setUseDeprecatedExecutor(false); } }
-
编写Bean文件:
@Data
@TableName("user") //标注实际表名,如果表名与bean类名一致则可以省略
public class User {
/**
* mybatis默认bean的所有属性在表中都是存在的
* 可以使用@TableField(exist = false)标注不存在的属性
*/
@TableField(exist = false)
private String addr;
private Long id;
private String name;
private Integer age;
private String email;
}
-
编写Mapper
public interface UserMapper extends BaseMapper<User> { }
-
编写Service
public interface UserService extends IService<User> { }
@Service
public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements UserService {
}
-
编写Controller
@RestController public class UserController { @Autowired UserServiceImpl userService; /** * 分页查询所有用户 * @param page * @return */ @GetMapping("/userAll") public Page<User> getAll(@RequestParam(value = "page",defaultValue = "1") int page){ //查询所有数据 userService.list(); Page<User> pageObj=new Page<User>(page,2); Page<User> pageAll=userService.page(pageObj,null); return pageAll; } /** * 删除用户 * @param id * @return */ @GetMapping("/user/del") public boolean delUser(@RequestParam("id") int id){ return userService.removeById(id); } /** * 新增用户 * @param user * @return */ @PostMapping("/user") public boolean addUser(User user){ return userService.save(user); } /** * 修改用户 * @param id * @param user * @return */ @PostMapping("/user/{id}") public boolean updateUser(@PathVariable("id") Long id,User user){ user.setId(id); return userService.updateById(user); } }
完工!