近期,有人和我说某些企业的数据是存储在Access库中,该文件以点mdb(.mdb)结尾,新人也许不知道Access。它是微软的办公软件存储形式,与office一样,是很早期的存储方案。

Java 为Access提供了解决方案,一种是桥接模式,即odbc形式,它不需要导任何包,因为它被封装在JDK1.7中,而如今,使用JDK1.8的较多,因为JDK6和JDK7并没有什么大改进,就像iPhone6和iPhone7,没啥变化,但愿IPhone8不会让我们大失所望,虽然我现在仍然用iPhone5S。

插播一段广告(我这电话用4年了快,16G的,居然不卡。要是安卓估计早就废了,难道这就是开源的弊端?虽然我很爱国,但也希望山寨机能加强点,别打脸啊)。

再看看JDK1.8,真可谓翻云覆雨啊!我个人对并发比较感兴趣,所以当它出来的时候,就喜欢CompleteFuture加上流式编程。扯远了,说说怎么解析Mdb吧。显然Jdk1.8取代了桥接模式。所以你解析时总会报错,告诉你没有这种类型的驱动器。那是不是就没办法了呢!不是的,这里我介绍一个jar包,Access_JDBC30.jar,这东西就和mysql驱动性质一样,只不过使用方法有所差异。

/**

* @category mdb文件的解析

* @author PQF

*/

public static List> resolverMdb(String mdbPath,

String sql, Object... column) throws Exception {

List> entityList = new ArrayList<>();

if (mdbPath.isEmpty() || sql.isEmpty() || column.length < 1) {

throw new Exception("mdb文件路径不能为空或者SQL语句不能为空,并且列的长度不能小于1");

}

Properties prop = new Properties();

prop.put("charSet", "UTF-8");

String dbUr1 = "jdbc:Access:///" + mdbPath;

Class.forName("com.hxtt.sql.access.AccessDriver").newInstance();

try (Connection conn = DriverManager.getConnection(dbUr1, prop);

Statement statement = conn.createStatement();

ResultSet result = statement.executeQuery(sql)) {

Map mapList = null;

while (result.next()) {

mapList = new HashMap<>();

for (Object col : column) {

mapList.put((String) col, result.getString((String) col));

}

entityList.add(mapList);

}

} catch (Exception e) {

e.printStackTrace();

}

return entityList;

}

这里注意两点:1.String dbUr1 =

"jdbc:Access:///" + mdbPath;

标红的地方(jdbc:Access:///)千万不能去掉啊!!!!

2.Class.forName("com.hxtt.sql.access.AccessDriver").newInstance();

驱动名称是固定的,别瞎改!!!后面的newInstance(),可以加,也可以不加。

此方法已让我编写的十分简单,传送一个文件路径,然后一段查询的SQL,和你要查询的列的名称即可。什么???你说你不会用???别闹了朋友,你搞笑呢???自己琢磨吧!!!

感谢读者的光顾。

java怎么解析mdb文件_java解析MDB文件的方法,已经写成公用方法相关推荐

  1. java中domain什么意思_java解析URL中domain、端口和协议的两种方法

    java解析URL中domain.端口和协议的两种方法 Java代码 收藏代码 @Test public void parseDomain() throws IOException { for (in ...

  2. java nio拷贝文件_Java 7 – NIO文件革命

    java nio拷贝文件 Java 7("项目代币")已于去年7月问世. 此版本中的新增功能很有用,例如,尝试资源-从try块中自动处理可关闭的资源,switch语句中的字符串,用 ...

  3. java写入dat文件_java写入dat文件

    Java的输入输出包括字节流.文件流.对象流等,要注意区分不同流使用的不同类.字... Java的输入输出包括字节流.文件流.对象流等,要注意区分不同流使用的不同类.字... Java的输入输出包括字 ...

  4. java读取mysql数据库配置文件_java读取properties文件的方法

    Java 读写Properties配置文件 Java 读写Properties配置文件 1.Properties类与Properties配置文件 Properties类继承自Hashtable类并且实 ...

  5. java里面怎么导入sql文件_java将SQL文件导入到数据库

    最近在做一个CMS系统,不免会在CMS安装阶段会有一个Install database阶段,需要用到安装数据库,之前已经用mysqldunp命令到处一个sql格式的文件,现在需要将它导入数据库.由于j ...

  6. JAVA编程TXT文件_java读写txt文件的方法

    java读写txt文件的方法 发布时间:2020-06-26 15:54:02 来源:亿速云 阅读:111 作者:Leah 本篇文章为大家展示了java读写txt文件的方法,代码简明扼要并且容易理解, ...

  7. java中怎么剪切文件_java中实现文件复制、剪切和删除

    import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io ...

  8. java nio 文件_Java nio 的文件处理

    一.创建一个大文件 下载文件时往往会创建一个指定大小的空文件 package com.lazy.nio; import java.io.IOException; import java.nio.Byt ...

  9. java 复制文件_Java中复制文件的4种方法

    Java拷贝文件是一种非常常见的操作.但是java.io.File类没有任何快捷方法可以将文件从源复制到目标文件.在这里,我们将了解学习可以在java中复制文件的四种不同方法. 方法一:使用Strea ...

  10. java 快速读文件_java快速读取文件

    如何优雅读取文件,java想简单读写一个文件都要上10行代码.幸好guava和apache commons 都有提供简单操作文件工具. 简单介绍读取文件最后一行.读取文件第一行.读取大文件.往大文件追 ...

最新文章

  1. Staple 跟踪: Complementary Learners for Real-Time Tracking
  2. 【存储知识学习】第三章磁盘原理与技术3.6磁盘控制器、驱动器控制电路和磁盘控制器驱动程序and3.7内部传输速率和外部传输速率--《大话存储》阅读笔记
  3. [漫画]~RAGNAROK~(I部II部.全收入)
  4. apache虚拟主机301跳转问题
  5. Oracle中5个核心Sql语句的基本构造:Select、Insert、Update、Delete和Merge
  6. 复化科特斯公式matlab_matlab实现复化NewtonCotes公式求积分的程序应用和代码
  7. 网络爬虫--20.【Scrapy-Redis实战】分布式爬虫获取房天下--代码实现
  8. 网友的有趣发现:冬天里,欧洲古建筑上的雕像都好像“生病了”
  9. 表单组件中state依赖props
  10. 如何使用可控硅?(详细教程)
  11. v380怎么设置云存储_计算机网络云计算技术在应用中的不足及缺陷
  12. 本地管理表空间(LMT)
  13. java中 break语句_Java break语句
  14. 使用链接时间代码生成
  15. 关于防范ONION勒索软件病毒攻击的解决办法
  16. android 打印机 kernel,adb如何打印kernel输出log
  17. cout 声明与定义
  18. HDS发布视频分析软件HVA 为企业提供运营智能与安全洞察
  19. TNFBA治疗强柱达52周时脊柱新骨形成与慢性炎症损害和脂肪变性有关
  20. Swoole实现基于WebSocket的群聊私聊

热门文章

  1. 中国支付清算系统简介
  2. win32com excel转pdf
  3. 基于tkinter的九型人格测试系统介绍
  4. nginx 工作原理
  5. 浅析tomcat原理
  6. Tomcat原理剖析及性能调优
  7. 关于keeplive
  8. 关于常用序号的几点说明(数字序号顺序)
  9. 史上最全 IT 类学习资源
  10. 招投标系统简介 招投标系统源码 java招投标系统 spring cloud spring boot 招投标系统功能设计