前提是不能把list集合拆开(这种方法我会)。
我想问一下,有没有直接把list集合传入update的方法?这种代码又应该怎么写?我把list集合遍历的方式发上来 QueryRunner qr = new QueryRunner();
String sql = "INSERT INTO sort (sname,sprice,sdesc)VALUES(?,?,?)";
Object[] params1 = {"体育用品",289.32,"购买体育用品"};
Object[] params2 = {"药品",2232.32,"购买药品治病"};
Object[] param3 = {"毒品",289.32,"购买毒品犯法"};
ArrayList<Object[]> list = new ArrayList<Object[]>();
list.add(params1);
list.add(params2);
list.add(param3);
int row = qr.update(con, sql, list);
System.out.println(row);
DbUtils.closeQuietly(con);

解决方案 »

  1.   

    求不用list遍历的方式修改代码让我把数据插入数据库,或者你跟我说没有这种办法。
      

  2.   

    用一个对象封装起来试下。public goods(){
     private String name;
     private Double price;
     privete String purchase;
    //后面自己写getter和setter方法
    }
    //最后两用这个对象的方法到添加
      

  3.   

    我把它封装在Object[]中和封装在类中没区别啊。
      

  4.   

    QueryRunner啊。。DBUtils啊。。遍历不是很爽吗???
      

  5.   

    可以用QueryRunner的batch方法
    public class Test { private static final String DRIVER_CLASS_NAME = "";
    private static final String JDBC_URL = "";
    private static final String USER = "";
    private static final String PASSWORD = ""; public static void main(String[] args) {
    int count = 10; // 插入记录的数目
    Object[][] params = new Object[count][];
    for (int i = 0; i < count; i++)
    // 将每条记录的数据插入数组
    params[i] = new Object[] { "", "", "" };
    batch(params);
    } public static Connection getConnection() {
    Connection conn = null;
    try {
    Class.forName(DRIVER_CLASS_NAME);
    conn = DriverManager.getConnection(JDBC_URL, USER, PASSWORD);
    return conn;
    } catch (Exception e) {
    return null;
    }
    } public static void batch(Object[][] params) {
    QueryRunner queryRunner = new QueryRunner(true);
    String sql = "INSERT INTO TABLE_NAME VALUES (?,?,?)";
    try {
    queryRunner.batch(getConnection(), sql, params);
    } catch (SQLException e) {
    e.printStackTrace();
    }
    }}
      

  6.   

    public class Test { private static final String DRIVER_CLASS_NAME = "";
    private static final String JDBC_URL = "";
    private static final String USER = "";
    private static final String PASSWORD = ""; public static void main(String[] args) {
    int count = 10; // 插入记录的数目
    Object[][] params = new Object[count][];
    for (int i = 0; i < count; i++)
    // 将每条记录的数据插入数组
    params[i] = new Object[] { "", "", "" };
    batch(params);
    } public static Connection getConnection() {
    Connection conn = null;
    try {
    Class.forName(DRIVER_CLASS_NAME);
    conn = DriverManager.getConnection(JDBC_URL, USER, PASSWORD);
    return conn;
    } catch (Exception e) {
    return null;
    }
    } public static void batch(Object[][] params) {
    QueryRunner queryRunner = new QueryRunner(true);
    String sql = "INSERT INTO TABLE_NAME VALUES (?,?,?)";
    try {
    queryRunner.batch(getConnection(), sql, params);
    } catch (SQLException e) {
    e.printStackTrace();
    }
    }}