2

我有以下变量:

 ArrayList<String> NameSet = new ArrayList<String>();

我使用以下add方法在循环中填充了项目:

  NameSet.add(Body.item(t).getAttributes().getNamedItem("name").getNodeValue());

如何在 MySQL 数据库中以长文本数据类型插入列表?

4

2 回答 2

2

没有直接的方法可以将数组列表插入 mysql 中的一行。但是,如果您想在单行中插入名称,那么您可以将它们保存到字符串变量中,然后用“字符”分隔它们,然后使用插入查询将其保存在 Db 中,而不是将它们放入数组列表中。

否则,您必须创建一个单独的方法将此数组列表转换为字符串,然后执行上述操作

于 2013-11-27T04:48:52.897 回答
0

插入批次将是一个很好的解决方案:

假设连接是您的 mysql jdbc 连接:

   String queryInsert="INSERT INTO  TableName ( name, field2 ,...) values (?,?,..)";
        try( PreparedStatement ps= connection.prepareStatement(queryInsert);){
             connection.autoCommit(false);
            for(String name:NameSet){
            ps.setString(1,name);
             ....
      }
    ps.executeBatch();
    connection.commit();
} catch (SQLException e) {
    con.rollback();
    System.err.format(e.getSQLState(), e.getMessage());
} 
于 2022-03-04T10:50:24.947 回答