写法一:
Object[] cocodeParams = new Object[2];
Object[] dataParams = new Object[3];
for(int i=0;i<n;i++){
cocodeParams[0]="0";
cocodeParams[1]="1";
BaseDAO.executeUpdate(sql, cocodeParams);

dataParams[0]="A";
dataParams[1]="B";
dataParams[2]="C";
BaseDAO.executeUpdate(sql, dataParams);
-----------------------------------------
写法二:
List cocodeList=new ArrayList();
List dataList=new ArrayList();
Object[] cocodeParams = null;
Object[] dataParams = null;
for(int i=0;i<n;i++){
cocodeParams = new Object[2];
cocodeParams[0]="0";
cocodeParams[1]="1";
cocodeList.add(cocodeParams);

dataParams = new Object[3];
dataParams[0]="A";
dataParams[1]="B";
dataParams[2]="C";
dataList.add(dataParams);
}

BaseDAO.batchUpdate(sql, cocodeList);
BaseDAO.batchUpdate(sql, dataList);
}1.BaseDAO是一个封装jdbc的工具类
2.BaseDAO.batchUpdate(String sql, Object[] params);
如:sql = "update employee set name = ? ,code = ? , age = ? "
    Object[] params = new Object[3]; params[0]="A"; params[1]="B"; params[2]="C";
 通过执行BaseDAO.batchUpdate(String sql, Object[] params)  
 达到update employee set name = 'A' ,code = 'B', age = 'C'的目的
通过Statement实现,传入sql语句和要设定的值(Object[])
3.BaseDAO.executeUpdate(String sql, List params);
如:sql = "update employee set name = ? ,code = ? , age = ? "
    Object[] params1 = new Object[3]; params[0]="A"; params[1]="B"; params[2]="C";
    Object[] params2 = new Object[3]; params[0]="B"; params[1]="C"; params[2]="D";
    params.add(params1);params.add(params2);
 通过执行BaseDAO.batchUpdate(String sql, Object[] params)  
 达到update employee set name = 'A' ,code = 'B', age = 'C';update employee set name = 'B' ,code = 'C', age = 'D'的目的
通过PreparedStatement实现,传入同构的sql语句和要设定的值(LIST)在上面的两种情况中
写法一用了BaseDAO.batchUpdate(String sql, Object[] params);
写法二用了BaseDAO.executeUpdate(String sql, List params);
既然写法二用了List,那么add的时候就不能增加同一对象,必须创建新对象(否则,所有的都是相同的)写法一,创建了cocodeParams和dataParams两个对象
写法一,创建了2*n个对象现在的效率应该怎么分析呢?
写法一,少创建了对象,但用了statement
写法二,多创建了对象,但用了preparedstatement我感觉各有己见,大家讲讲自己的看法吧