access 是微軟開發(fā)的關(guān)系型數(shù)據(jù)庫管理系統(tǒng),而 mysql 則是一款流行的開源關(guān)系型數(shù)據(jù)庫。在實際應(yīng)用中,有時候需要將 access 數(shù)據(jù)庫中的數(shù)據(jù)同步到 mysql 數(shù)據(jù)庫中,以便多個系統(tǒng)間共享數(shù)據(jù)。本文將介紹如何使用 java 代碼實現(xiàn)這一過程。
首先,需要使用 jdbc 驅(qū)動程序連接 access 數(shù)據(jù)庫。以下是一個簡單的實例:
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); String url = "jdbc:odbc:Driver={Microsoft Access Driver (*.mdb)};DBQ=" + pathToAccessFile; Connection accessConn = DriverManager.getConnection(url);
接下來,同樣需要使用 jdbc 驅(qū)動程序連接 mysql 數(shù)據(jù)庫。以下是一個簡單的實例:
Class.forName("com.mysql.jdbc.Driver"); String url = "jdbc:mysql://localhost:3306/test"; Connection mysqlConn = DriverManager.getConnection(url, username, password);
現(xiàn)在可以在 access 數(shù)據(jù)庫中讀取數(shù)據(jù),然后將其存儲到一個 List 中:
List<String[]> dataList = new ArrayList<>(); PreparedStatement statement = accessConn.prepareStatement("SELECT * FROM tableName"); ResultSet resultSet = statement.executeQuery(); while (resultSet.next()) { String[] data = new String[2]; data[0] = resultSet.getString("field1"); data[1] = resultSet.getString("field2"); dataList.add(data); }
接下來,可以使用 jdbc 可以連接到 mysql 數(shù)據(jù)庫中,并將數(shù)據(jù)插入到對應(yīng)的表中:
PreparedStatement statement = mysqlConn.prepareStatement("INSERT INTO tableName (field1, field2) VALUES (?, ?)"); for (String[] data : dataList) { statement.setString(1, data[0]); statement.setString(2, data[1]); statement.executeUpdate(); }
現(xiàn)在,access 數(shù)據(jù)庫中的數(shù)據(jù)已經(jīng)同步到了 mysql 數(shù)據(jù)庫中。