如何使用 Struts2 在 MySQL 数据库中一次插入多行?

How to insert multiple rows at once in MySQL DB using Struts2?

我正在尝试使用 Struts2.
在 MySQL 数据库中一次插入多行(从数据库检索的动态行) 为此,首先我从数据库 table 中检索 HTML table 中的数据(并且行是动态的意味着它取决于特定用户 ID 在数据库中有多少条目).
在我的 HTML table 中,有六列,其中五列是从数据库中检索的,最后一列条目,用户必须填写。

现在我想一次性将整个数据(从数据库中检索到的行数与最后一列的新条目一样多)插入另一个 table 数据库。
现在我可以插入整个数据,但它没有存储在数据库中的单独行中 table,它只是存储在用逗号分隔的一行中。

任何帮助将不胜感激...提前致谢!!

您可以尝试批量执行记录Read Here
execute 更改为传递列表

public String execute() throws Exception 
{
    String ret = "SUCCESS";
    try
    {
        msg = db.Detailsdb.addMoreDetails(details);
        if(msg != null)
        {
            System.out.println(msg);
            return ret;
        }
        else 
            ret = "ERROR";
    }
    catch(Exception ex)
    {
        ex.printStackTrace();
    }
    return ret;
}

更改您的数据库逻辑以添加批次

public static  String addMoreDetails(List<Details> details) throws Exception
{  
    try
    {
     java.sql.CallableStatement cs = connect().prepareCall("{call addUpdMoreDetails(?,?,?,?,?,?,?,?,?)}");
     for(Details det : details) {
         cs.setString(1, "I");
         cs.setString(2, det.detailsId);
         cs.setString(3, det.userId);
         cs.setString(4, det.info_1);
         cs.setString(5, det.info_2);
         cs.setString(6, det.info_3);
         cs.setString(7, det.info_4);
         cs.setString(8, det.info_5);
         cs.registerOutParameter(9, Types.VARCHAR);
         cs.addBatch();
    }
    int counts[] = cs.executeBatch();
    if ( counts.length == details.size )
        return "someMEssage";
    else
        return null; 
   }
   catch(Exception ex)
   {
    return ex.toString();
   }
}

感谢大家的帮助...我找到了解决方案!! 在将数据发送到 DB 之前,我将每个数据条目拆分为特定行......并且它正在工作!!! :)