java怎么解析mdb文件_java解析MDB文件的方法,已经写成公用方法
近期,有人和我说某些企业的数据是存储在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文件的方法,已经写成公用方法相关推荐
- java中domain什么意思_java解析URL中domain、端口和协议的两种方法
java解析URL中domain.端口和协议的两种方法 Java代码 收藏代码 @Test public void parseDomain() throws IOException { for (in ...
- java nio拷贝文件_Java 7 – NIO文件革命
java nio拷贝文件 Java 7("项目代币")已于去年7月问世. 此版本中的新增功能很有用,例如,尝试资源-从try块中自动处理可关闭的资源,switch语句中的字符串,用 ...
- java写入dat文件_java写入dat文件
Java的输入输出包括字节流.文件流.对象流等,要注意区分不同流使用的不同类.字... Java的输入输出包括字节流.文件流.对象流等,要注意区分不同流使用的不同类.字... Java的输入输出包括字 ...
- java读取mysql数据库配置文件_java读取properties文件的方法
Java 读写Properties配置文件 Java 读写Properties配置文件 1.Properties类与Properties配置文件 Properties类继承自Hashtable类并且实 ...
- java里面怎么导入sql文件_java将SQL文件导入到数据库
最近在做一个CMS系统,不免会在CMS安装阶段会有一个Install database阶段,需要用到安装数据库,之前已经用mysqldunp命令到处一个sql格式的文件,现在需要将它导入数据库.由于j ...
- JAVA编程TXT文件_java读写txt文件的方法
java读写txt文件的方法 发布时间:2020-06-26 15:54:02 来源:亿速云 阅读:111 作者:Leah 本篇文章为大家展示了java读写txt文件的方法,代码简明扼要并且容易理解, ...
- java中怎么剪切文件_java中实现文件复制、剪切和删除
import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io ...
- java nio 文件_Java nio 的文件处理
一.创建一个大文件 下载文件时往往会创建一个指定大小的空文件 package com.lazy.nio; import java.io.IOException; import java.nio.Byt ...
- java 复制文件_Java中复制文件的4种方法
Java拷贝文件是一种非常常见的操作.但是java.io.File类没有任何快捷方法可以将文件从源复制到目标文件.在这里,我们将了解学习可以在java中复制文件的四种不同方法. 方法一:使用Strea ...
- java 快速读文件_java快速读取文件
如何优雅读取文件,java想简单读写一个文件都要上10行代码.幸好guava和apache commons 都有提供简单操作文件工具. 简单介绍读取文件最后一行.读取文件第一行.读取大文件.往大文件追 ...
最新文章
- Staple 跟踪: Complementary Learners for Real-Time Tracking
- 【存储知识学习】第三章磁盘原理与技术3.6磁盘控制器、驱动器控制电路和磁盘控制器驱动程序and3.7内部传输速率和外部传输速率--《大话存储》阅读笔记
- [漫画]~RAGNAROK~(I部II部.全收入)
- apache虚拟主机301跳转问题
- Oracle中5个核心Sql语句的基本构造:Select、Insert、Update、Delete和Merge
- 复化科特斯公式matlab_matlab实现复化NewtonCotes公式求积分的程序应用和代码
- 网络爬虫--20.【Scrapy-Redis实战】分布式爬虫获取房天下--代码实现
- 网友的有趣发现:冬天里,欧洲古建筑上的雕像都好像“生病了”
- 表单组件中state依赖props
- 如何使用可控硅?(详细教程)
- v380怎么设置云存储_计算机网络云计算技术在应用中的不足及缺陷
- 本地管理表空间(LMT)
- java中 break语句_Java break语句
- 使用链接时间代码生成
- 关于防范ONION勒索软件病毒攻击的解决办法
- android 打印机 kernel,adb如何打印kernel输出log
- cout 声明与定义
- HDS发布视频分析软件HVA 为企业提供运营智能与安全洞察
- TNFBA治疗强柱达52周时脊柱新骨形成与慢性炎症损害和脂肪变性有关
- Swoole实现基于WebSocket的群聊私聊