En MyBatis-Plus, puede obtener una cantidad fija de datos de la tabla MySQL cada vez configurando consultas de paginación hasta que se obtengan todos. Aquí hay un código de muestra simple:
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;
}
}
En el código de muestra anterior, usamos myMapper para realizar la operación de consulta de paginación, pageNum indica el número de página actual y pageSize indica el número de búsquedas por página. Use el método page.hasNext() para juzgar si hay una página siguiente, si es así, continúe consultando la página siguiente y agregue el resultado a la lista de datos totales allData hasta que se consulten todos los datos.
Cabe señalar que el código anterior utiliza el complemento de paginación proporcionado por MyBatis-Plus, y las dependencias correspondientes deben introducirse en el proyecto. Además, MyEntity es su clase de entidad y MyMapper es su interfaz Mapper, que se puede reemplazar de acuerdo con la situación real de su proyecto.