java實現(xiàn)連接access數(shù)據(jù)庫并讀取數(shù)據(jù)的操作

java實現(xiàn)連接access數(shù)據(jù)庫并讀取數(shù)據(jù)的操作

具體步驟如下:

一、連接access數(shù)據(jù)庫

創(chuàng)建AccessDbUtil類,連接數(shù)據(jù)庫

import?Java.sql.Connection; import?java.sql.DriverManager;  /** ?*?獲取Access連接 ?*? ?*?@author?dofun ?* ?*/ public?class?AccessDbUtil { ????public?static?Connection?getDbConnection() ????{ ????	//?數(shù)據(jù)庫url ????????String?url?=?"jdbc:Access:///E:ICD10.mdb"; ????????Connection?conn?=?null; ????????try ????????{ ????????	//?驅(qū)動加載 ????????????Class.forName("com.hxtt.sql.access.AccessDriver").newInstance(); ????????????conn?=?DriverManager.getConnection(url); ????????????return?conn; ????????} ????????catch?(Exception?e) ????????{ ????????????System.out.println("Access連接失敗"); ????????} ????????return?conn; ????} }

二、讀取Access數(shù)據(jù)并保存在mysql數(shù)據(jù)庫

立即學習Java免費學習筆記(深入)”;

1、獲取access數(shù)據(jù)庫連接

2、查詢表數(shù)據(jù),并保存

3、關(guān)閉連接資源

/** ?????*?同步疾病,手術(shù) ?????*? ?????*?@return ?????*/ ????@RequestMapping(value?=?"importJbbm") ????@ResponseBody ????public?String?importJbbm() ????{ ????	//?獲取數(shù)據(jù)庫連接 ????????Connection?conn?=?AccessDbUtil.getDbConnection(); ????????PreparedStatement?pst?=?null; ????????ResultSet?rs?=?null; ????????Boolean?a?=?true; ????????int?id?=?30000; ????????try ????????{ ????????????for?(int?i?=?1;?i?&gt;?0;?i++) ????????????{ ???????????????? ????????????????//?手術(shù) ????????????????pst?=?conn.prepareStatement("select?*?from?sJBBMML?where?id?&gt;?"?+?id?+?"?and?LB?=?'S'?"); ????????????????List<icdssbm>?jbs?=?new?ArrayList(); ???????????????? ????????????????rs?=?pst.executeQuery(); ????????????????while?(a?==?rs.next()) ????????????????{ ????????????????????if?(StringUtils.isNotBlank(rs.getString(2))) ????????????????????{ ????????????????????????IcdSsbm?jb?=?new?IcdSsbm(); ????????????????????????jb.setCode(rs.getString(2)); ????????????????????????jb.setName(rs.getString(5)); ????????????????????????jb.setType(rs.getString(11)); ????????????????????????jbs.add(jb); ????????????????????} ????????????????????else ????????????????????{ ????????????????????????a?=?false; ????????????????????????i?=?0; ????????????????????} ????????????????????//?System.out.println(rs.getString(2)); ????????????????????//?System.out.println(rs.getString(5)); ????????????????????//?System.out.println(rs.getString(11)); ????????????????} ????????????????if?(ListUtils.isNotEmpty(jbs)) ????????????????{ ????????????????????//?批量保存 ????????????????????icdSsbmService.saveBatch(jbs); ????????????????} ????????????????id?+=?1000; ????????????} ????????} ????????catch?(SQLException?e) ????????{ ????????} ????????finally ????????{ ????????????try ????????????{ ????????????????//?關(guān)閉資源 ????????????????rs.close(); ????????????????pst.close(); ????????????????conn.close(); ????????????} ????????????catch?(SQLException?e) ????????????{ ????????????} ????????} ????????return?"導入完成"; ????}</icdssbm>

問題:

如果Access數(shù)據(jù)庫設(shè)置了密碼,獲取連接的時候也加了密碼參數(shù),還是出現(xiàn)錯誤,找不到原因,最后就把Access數(shù)據(jù)庫密碼去掉了。

Access的分頁問題,一次只能查詢出1000條數(shù)據(jù),其實Access本身是有分頁查詢的,只是看起很繁瑣我并沒有用,而且在數(shù)據(jù)量大的時候性能并不是很好。所以我是采用循環(huán)的形式,簡單。

用的是Access_JDBC30.jar,java1.8竟然不支持Access了。網(wǎng)上好像有破解好的驅(qū)動,說是破了分頁查詢的限制。

推薦教程:access數(shù)據(jù)庫教程

以上就是java實現(xiàn)連接

? 版權(quán)聲明
THE END
喜歡就支持一下吧
點贊13 分享