我有HashMap<String, ArrayList<Integer>>
,我想将其值存储在MySQL表中。我的表就像:
CREATE TABLE simone_average_distance (id INT(64) NOT NULL AUTO_INCREMENT, name VARCHAR(250), department INT(64), jan VARCHAR(50), feb VARCHAR(50), mar VARCHAR(50), apr VARCHAR(50), may VARCHAR(50), jun VARCHAR(50), jul VARCHAR(50), aug VARCHAR(50), sep VARCHAR(50), oct VARCHAR(50), nov VARCHAR(50), dec VARCHAR(50), PRIMARY KEY (`id`))
HashMap中的每个键对应于表的一列,而ArrayList包含该列的值。我使用PreparedStatement
来更新每一列,例如:
// for each row
int i = 1;
// basic query
String query = "UPDATE simone_clustering SET columnName =" + ? + " WHERE id = " + "?" + "";
// prepared statement
try (Connection connect = DriverManager.getConnection(login); PreparedStatement ps = connect.prepareStatement(query)) {
for (Node n : vertices) {
ps.setDouble(1, valueForThisRow);
ps.setInt(2, i);
ps.addBatch();
i++;
}
ps.executeBatch();
} catch (SQLException e) {
// Exception handling
e.printStackTrace();
}
但现在我想知道如何使用新的哈希映射数据结构将其转换为一次性INSERT我的数据。
编辑:正如评论中所提到的,编写插入语句就是答案。