================================
©Copyright 蕃薯耀 2020-01-07
https://www.cnblogs.com/fanshuyao/
import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.ResultSetMetaData; import java.sql.SQLException; import java.sql.Statement; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.Properties; public class MdbUtils { private final static String JDBC_DRIVER = "sun.jdbc.odbc.JdbcOdbcDriver"; private final static String JDBC_URL = "jdbc:odbc:driver={Microsoft Access Driver (*.mdb)};DBQ="; /** * 查詢mdb文件的表數據 * @param absoluteFilePath mdb文件絕對路徑 * @param sql 查詢的sql語句 * @return */ public static List<Map<String, Object>> read(String absoluteFilePath, String sql){ List<Map<String, Object>> listMap = new ArrayList<Map<String,Object>>(); Properties prop = new Properties(); prop.put("charset", "utf-8");//解決中文亂碼?沒有也行(GB2312/GBK) //prop.put("user", ""); //prop.put("password", ""); String url = JDBC_URL + absoluteFilePath; //PreparedStatement preparedStatement = null; Statement statement = null; ResultSet resultSet = null; Connection connection = null; try{ Class.forName(JDBC_DRIVER); connection = DriverManager.getConnection(url, prop); statement = connection.createStatement(); resultSet = statement.executeQuery(sql); ResultSetMetaData resultSetMetaData = resultSet.getMetaData(); while(resultSet.next()){ Map<String, Object> map = new HashMap<String, Object>(); for(int i=1; i<= resultSetMetaData.getColumnCount(); i++){ String columnName = resultSetMetaData.getColumnName(i);//列名 Object columnValue = resultSet.getObject(i); map.put(columnName, columnValue); } listMap.add(map); } }catch (Exception e) { e.printStackTrace(); }finally{ try { if(statement != null){ statement.close(); } if(connection != null){ connection.close(); } } catch (SQLException e) { e.printStackTrace(); } } return listMap; } public static void main(String[] args) { String sql = "select * from cu_proj_zxgh_land"; //List<Map<String, Object>> listMap = read("C:/db/test.mdb", sql); List<Map<String, Object>> listMap = read("C:/db/02-地塊划分與指標控制圖.mdb", sql); if(listMap != null && listMap.size() > 0){ System.out.println("=====listMap.size()="+listMap.size()); for (Map<String, Object> map : listMap) { System.out.println(map.toString()); System.out.println(""); } } } }
(如果你覺得文章對你有幫助,歡迎捐贈,^_^,謝謝!)
================================
©Copyright 蕃薯耀 2020-01-07
https://www.cnblogs.com/fanshuyao/