首页 > 其他分享 >SpringBoot (MyBatis-plus分页查询)

SpringBoot (MyBatis-plus分页查询)

时间:2025-02-18 15:24:55浏览次数:12  
标签:SpringBoot spring private page plus getAccountPage MyBatis query public

效果图

1、创建MyBatis

为什么要勾选这些东西呢?

1、勾选后可以快速的帮我们生成代码

2、更加省时省力

打开这两个继承的类(IService)和(ServiceImpl) 发现已经帮我们写好了增删改查 CRUD

mapper接口也是自动继承了BaseMapper

2、开始写分页

@RestController
@RequestMapping("/account")
@RequiredArgsConstructor
@Tag(name = "account管理", description = "账号管理API接口") //
public class AccountController {

    private final AccountService accountService;

    @PostMapping("/getAccountPage")
    @Operation(summary = "分页查询")
    public List<Account> getAccountPage(@RequestBody AccountQuery query) {
        IPage<Account> page = accountService.getAccountPage(query);
        return page.getRecords();// 返回分页数据
    }
}
public interface AccountService extends IService<Account> {
    IPage<Account> getAccountPage(AccountQuery query);
}
@Service
@RequiredArgsConstructor
public class AccountServiceImpl extends ServiceImpl<AccountMapper, Account> implements AccountService {


    private final AccountMapper accountMapper;


    @Override
    public IPage<Account> getAccountPage(AccountQuery query) {

        Page<Account> page = Page.of(query.getPageNum(), query.getPageSize());
        LambdaQueryWrapper<Account> wrapper = new LambdaQueryWrapper<>();
        if (query.getName() != null && !query.getName().equals("")) {
            wrapper.like(Account::getName, query.getName());
        }
        return accountMapper.selectPage(page, wrapper);
    }


}
@Data
public class AccountQuery {
    private Integer PageNum;//当前页码
    private Integer PageSize;//每页显示数量
    private String name;
}

3、要导入的jar包

<dependencies>

<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>

<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-spring-boot3-starter</artifactId>
<version>3.5.8</version>
</dependency>

<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.33</version>
</dependency>

<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid-spring-boot-starter</artifactId>
<version>1.2.23</version>
</dependency>

<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
</dependency>

<dependency>
<groupId>com.github.xiaoymin</groupId>
<artifactId>knife4j-openapi3-jakarta-spring-boot-starter</artifactId>
<version>4.5.0</version>
</dependency>


</dependencies>

//实现父类SpringBoot
<properties>
<maven.compiler.source>17</maven.compiler.source>
<maven.compiler.target>17</maven.compiler.target>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>

标签:SpringBoot,spring,private,page,plus,getAccountPage,MyBatis,query,public
From: https://blog.csdn.net/or77iu_N/article/details/144061103

相关文章