日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

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

發布時間:2023/12/14 编程问答 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 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文件的方法,已经写成公用方法的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。