MybatisPlus快速增删改查和分页模糊查询
文章目录
1.首先构建一个工程
2.加入mybatisPlus依赖
<!-- mybatis-plus支持-->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.4.2</version>
</dependency>
3.加入代码生成器,利用代码生成器快速构建controller、service,mapper
不知道怎么使用或者还没有代码生成器的可以去 SpringBoot入门配置和代码生成器-CSDN博客
4.在application.yml中连接数据库
spring:
datasource:
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://localhost:3306/testdb?serverTimezone=GMT%2B8&useSSL=false
username: root
password: 123456
5.构建controller层
5.1查询
/**
* 查询
* @return
*/
@GetMapping("list")
public List<User> list(){
return userService.list();
}
5.2新增
/**
* 新增
* @param user
* @return
*/
@PostMapping("save")
public Boolean add(@RequestBody User user){
return userService.save(user);
}
5.3根据id进行新增或修改
如果id存在为修改,如果id不存在则新增
/**
* 新增或修改(根据id)
* @param user
* @return
*/
@PostMapping("saveOrUpdate")
public Boolean update(@RequestBody User user){
return userService.saveOrUpdate(user);
}
5.4根据id删除
/**
* 删除(根据id)
* @param id
* @return
*/
@DeleteMapping("delete")
public Boolean delete(int id){
return userService.removeById(id);
}
5.5分页模糊查询
首先需要加入一个分页插件
@Configuration
public class MybatisPlusConfig {
/**
* 添加分页插件
*/
@Bean
public MybatisPlusInterceptor mybatisPlusInterceptor() {
MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();
interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL));//如果配置多个插件,切记分页最后添加
//interceptor.addInnerInterceptor(new PaginationInnerInterceptor()); 如果有多数据源可以不配具体类型 否则都建议配上具体的DbType
return interceptor;
}
}
下面是分页模糊查询代码
/**
* 分页模糊查询
* @param query
* @return
*/
@PostMapping("listPage")
public List<User> liseUserPage(@RequestBody PageParam query){
HashMap param = query.getParam();
String name= (String)param.get("username");
Page<User> page = new Page();
page.setCurrent(query.getPageNum());
page.setSize(query.getPageSize());
LambdaQueryWrapper<User> lambdaQueryWrapper = new LambdaQueryWrapper();
lambdaQueryWrapper.like(User::getUsername,name);
IPage result = userService.page(page,lambdaQueryWrapper);
return result.getRecords();
}