MDB文件读取加分页

List<Map> maplist = new ArrayList();
try {
    File files = new File("C:\\Users\\HEDY\\Desktop\\archivists.mdb");
    FileUtils.copyInputStreamToFile(file.getInputStream(), files);
    Database dbin = null;
    dbin = Database.open(files);//读文件
    Set<String> tables = dbin.getTableNames();
    for (String enSurfaceName : tables) {//遍历所有表名
        Map mapTable = new HashMap();
        //通过表名查询所有的中文字段
        mapTable.put("tableName", enSurfaceName);
        Table table = dbin.getTable(enSurfaceName);//获取对应表结构
        List<Map> list = new ArrayList();
        for (Map<String, Object> map : table) {//遍历表数据
            list.add(map);
        }
        mapTable.put("data", list);
        maplist.add(mapTable);
    }
    dbin.close();
    files.delete();
    List<Object> list= (List<Object>) maplist.get(0).get("data");
    int count = list.size(); // 总记录数
    // 计算总页数
    int pages = count % pageSize == 0 ? count / pageSize : count / pageSize + 1;
    // 起始位置
    int start = pageNum <= 0 ? 0 : (pageNum > pages ? (pages - 1) * pageSize : (pageNum - 1) * pageSize);
    // 终止位置
    int end = pageNum <= 0 ? (pageSize <= count ? pageSize : count) : (pageSize * pageNum <= count ? pageSize * pageNum : count);
    CommonPage objectCommonPage = new CommonPage<>();
    objectCommonPage.setPageNum(pageNum);
    objectCommonPage.setPageSize(pageSize);
    objectCommonPage.setTotal(Long.valueOf(list.size()));
    objectCommonPage.setTotalPage((list.size() + pageSize - 1) / pageSize);
    objectCommonPage.setList(list.subList(start, end));
    return objectCommonPage;
} catch (IOException e) {
    e.printStackTrace();
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值