如何将Arraylist数据类型插入Java中的MySQL数据库中



我有以下变量:

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

我使用 add方法在循环中填充项目,如下所示:

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

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

没有直接的方法将数组列表插入mySQL中的一行。但是,如果要将名称插入一行,则可以将它们放入arraylist中,而是可以将它们保存到字符串变量中,然后使用"字符"将其保存到字符串变量中,然后使用插入查询将其保存在db中。<<<<<<<<<<<<<<<<<<<<<<<<<</p> 在

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

假设连接是您的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());
} 
  1. 列表项目ArrayList<String> nameSet = new ArrayList<>(); nameSet.add("Item 1"); nameSet.add("Item 2"); nameSet.add("Item 3");

步骤2:建立与MySQL数据库的连接 Connection connection = DriverManager.getConnection(url,username,password);

步骤3:创建一个SQL插入语句 String insertQuery = "INSERT INTO your_table_name (column_name) VALUES (?)";

步骤4:将阵列元素连接到一个字符串中 StringBuilder concatenatedNames = new StringBuilder(); for (String item : nameSet) { concatenatedNames.append(item).append(", "); } concatenatedNames.setLength(concatenatedNames.length() - 2);删除最后一个&quot"

步骤5:执行SQL语句 PreparedStatement preparedStatement = connection.prepareStatement(insertQuery); preparedStatement.setString(1, concatenatedNames.toString()); preparedStatement.executeUpdate();

相关内容

  • 没有找到相关文章

最新更新