java读取mdb类型的数据
1、总体说明
现在java读取mdb数据(也就是链接access数据库读取数据)对jdk的版本有要求,jdk1.8以前的可以直接链接access数据 库读取数据,而jdk1.8以后的都需要加载一个连接驱动,我用的就是jdk1.8,而驱动呢 我用的是ucanaccess.jar。话不多说直接上代码:
private static Connection getConnection(String path) {if (null == connection) {resetConnection(path);return connection;} else {return connection;}}private static void resetConnection(String path) {try {String mdbPath = "jdbc:ucanaccess://" + path + ";skipIndexes=true";Class.forName("net.ucanaccess.jdbc.UcanaccessDriver").newInstance();long startTime = System.currentTimeMillis();connection = DriverManager.getConnection(mdbPath,"user","123");long endTime = System.currentTimeMillis();System.out.println("连接数据库时间: " + (endTime - startTime) + "ms");} catch (Exception e) {e.printStackTrace();}}/*** 连接mdb并执行sql*/public static JSONArray linkMDB(String path, String sql, boolean update) throws Exception {if (path.isEmpty() && sql.isEmpty()) {throw new Exception("mdbd的路径和sql操作不能为空");}Connection connection = getConnection(path);Statement statement = connection.createStatement();JSONArray result = null;if (!update) {ResultSet rs = statement.executeQuery(sql);result = resultSetToJson(rs);} else {statement.executeUpdate(sql);}statement.close();return result;}/*** 转换mdb查询结果*/private static JSONArray resultSetToJson(ResultSet rs) throws SQLException, UnsupportedEncodingException {// json数组JSONArray array = new JSONArray();// 获取列数ResultSetMetaData metaData = rs.getMetaData();int columnCount = metaData.getColumnCount();// 遍历ResultSet中的每条数据while (rs.next()) {JSONObject jsonObj = new JSONObject();// 遍历每一列for (int i = 1; i <= columnCount; i++) {String columnName = metaData.getColumnLabel(i);String columnTypeName = metaData.getColumnTypeName(i);if (null != columnName) {String gbk = null;Object query = null;try {query = rs.getObject(i);} catch (Exception e) {e.printStackTrace();}if (query != null) {jsonObj.put(columnName, query);}if (gbk != null) {jsonObj.put(columnName, gbk);}}}array.add(jsonObj);}rs.close();return array;}
第一次写博客,写的不好的还望大家见谅,不懂的和不对的可以在评论区留言,我都会一一解答的。
java读取mdb类型的数据相关推荐
- java读取各类型的文件
java读取各类型的文件 用到的几个包 bcmail-jdk14-132.jar/bcprov-jdk14-132.jar/checkstyle-all-4.2.jar/FontBox-0.1.0-d ...
- Apache POI和EasyExcel 第五集:Apache POI的Excel读取不同类型的数据
Apache POI和EasyExcel 第五集:Apache POI的Excel读取不同类型的数据 一.资源 什么是Apache POI Apache POI 不同类型的数据的表格(xls) 链接: ...
- 杂记(1)java读取char类型2. 大小写字母的转换3. 字符串的拼接4. 一串数字排序
1. java读取char类型 应为java中没有nextchar();函数,所以只能先读取一行,即 Sting a=sc.nextline(); char need=a.charAt(0);//取字 ...
- 通过OracleDataReader来读取BLOB类型的数据 (转载)
通过OracleDataReader来读取BLOB类型的数据 在实际的应用过程中,需要把大块的二进制数据存储在数据库中.读取这些大块的数据,可以通过强制类型转换成为byte数组,但是当这个二进制数 ...
- Java读取和解析Excel数据:基于Apache POI(二)
Java读取和解析Excel数据:基于Apache POI(二) 假设附录1文章中的test.xls是对员工的考勤记录表.需要根据这张excel表统计员工的加班时间,那么需要重点关注第五列的下班时候的 ...
- 如何用Java读取单元格的数据_Java读取Excel中的单元格数据
目前网上能找到Web平台下的读取Excel表格中数据的两种比较好的方案:PageOffice好用开发效率高:POI免费.供大家参考,针对具体情况选择具体方案. 1. PageOffice读取excel ...
- java 读取硬件设备发送数据_Java网络编程基础
1.软件结构 C/S结构:全称为Client/Server结构,是指客户端和服务器结构.常见程序有QQ.迅雷等软件. B/S结构:全称为Browser/Server结构,是指浏览器和服务器结构.常见浏 ...
- java读取Oracle中大字段数据(CLOB)的方法
2.Oracle数据库中有一个字段是CLOB类型,使用java 解析. 1.使用java解析clob类型内容 public String clobToString(Clob c) {StringBuf ...
- 通过OracleDataReader来读取BLOB类型的数据
在实际的应用过程中,需要把大块的二进制数据存储在数据库中.读取这些大块的数据,可以通过强制类型转换成为byte数组,但是当这个二进制数据体够大时(几十兆或者上百兆),一次并不能获取到他的完整长度,所以 ...
最新文章
- 三年51亿!30岁的TA携「三瑞」打通场景级智慧,走入极「智」医疗
- 你知道 URL 后面的这些 utm_xxx 参数都是干嘛的吗?
- 南华大学计算机学院足球队,球场健儿,不言放弃——记南华大学“新生杯”足球赛...
- Fragment详解之四——管理Fragment(2)
- 线性代数笔记:Khatri-Rao积
- 《系统集成项目管理工程师》必背100个知识点-87系统文档验收
- 简述ospf的工作原理_现代数字存储示波器的工作原理简述
- DB2 Vs MySQL系列 | 体系架构对比
- python代码混淆工具_有没有好的 python 混淆器 推荐一个
- 实验7-3-4 字符串替换 (15 分)
- 使用 IDEA 创建 Scala 工程
- mysql day of week_在MySQL中按day_of_week排序
- 构造方法传参数的小心得
- 陕西2020行政区划调整_陕西行政区划调整畅想:西安咸阳合并可行,但成立直辖市不太现实...
- 解决WEPE(微pe)安装win11时这台电脑不符合Windows所需的最低系统要求
- WiFi 桥接功能 — 基于Linux路由器
- 计算机主机序列,SCCM任务序列自动根据SN号命名计算机
- FZU1892接水管游戏-BFS加上简单的状态压缩和位运算处理
- Global Malmquist-Luenberger 指数分解及matlab应用,文后有网盘链接
- 树莓派串口简单测试语音识别模块