如何将HashMap存储到MySQL表中?

时间:2014-07-28 10:02:34

标签: java mysql

我有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我的数据。

编辑:正如评论中所提到的,编写插入语句就是答案。

0 个答案:

没有答案