No MyBatis-Plus, uma quantidade fixa de dados é buscada da tabela MySQL toda vez, definindo a consulta de paginação até que todos eles sejam buscados.

insira a descrição da imagem aqui

No MyBatis-Plus, você pode buscar uma quantidade fixa de dados da tabela MySQL a cada vez, definindo consultas de paginação até que todas sejam buscadas. Aqui está um código de amostra simples:

import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.ArrayList;
import java.util.List;

@Service
public class MyService {
    
    

    @Autowired
    private MyMapper myMapper;

    public List<MyEntity> getAllData() {
    
    
        List<MyEntity> allData = new ArrayList<>();
        QueryWrapper<MyEntity> queryWrapper = new QueryWrapper<>();
        int pageSize = 10; // 每页取的数量
        int pageNum = 1; // 当前页码
        IPage<MyEntity> page;
        do {
    
    
            // 设置分页参数
            page = new Page<>(pageNum, pageSize);
            // 查询一页数据
            IPage<MyEntity> result = myMapper.selectPage(page, queryWrapper);
            List<MyEntity> records = result.getRecords();
            // 将查询结果添加到总数据列表中
            allData.addAll(records);
            // 更新当前页码
            pageNum++;
            // 判断是否还有下一页
        } while (page.hasNext());
        return allData;
    }
}

No código de exemplo acima, usamos myMapper para executar a operação de consulta de paginação, pageNum indica o número da página atual e pageSize indica o número de buscas por página. Use o método page.hasNext() para julgar se há uma próxima página, em caso afirmativo, continue a consultar a próxima página e adicione o resultado à lista de dados totais allData até que todas as consultas de dados sejam concluídas.

Deve-se observar que o código acima usa o plug-in de paginação Page fornecido pelo MyBatis-Plus, e as dependências correspondentes precisam ser introduzidas no projeto. Além disso, MyEntity é sua classe de entidade e MyMapper é sua interface Mapper, que pode ser substituída de acordo com a situação real do seu projeto.

Acho que você gosta

Origin blog.csdn.net/Xidian2850/article/details/130178713
Recomendado
Clasificación