我之前的一篇文章介绍过如何将前台的数组数据 如何传到后台,是关于如何将前台数据成批传入后台,然后怎么将传过来的jsonarray直接插入到数据库里面呢,首先数据库自带一个方法:bgdDataSource.updateByBatchParamSql(sb.toString(), resultList, new Object[]{}) 该方法就是将成堆的数据一起进行相关操作,,可以是更新,也可以是删除或者增加操作,取决于你的第一个参数sb(Stringbuffer类型数据)里面的字符串。
然后执行上面的方法就可以插入了,第二个参数resultlist就是你前台传过来的数组数据,前台传过来的后台接收转换成json格式之后还需要多进行一步操作,代码为:List resultList = (List<Map>)JSONArray.toCollection(record_jsonArray,Map.class); 这样就可以匹配数据类型了,最后一个参数new Object[]{} 里面的内容取决于你的sb里面需要的字段是哪些。举一个简单的例子吧:
String record = param.get("record_new").toString();
JSONArray record_jsonArray = JSONArray.fromObject(record);
List resultList = (List<Map>)JSONArray.toCollection(record_jsonArray,Map.class);
StringBuffer sb = new StringBuffer();
sb.append(" INSERT INTO bd_t_doubt_feedback_sum ");
sb.append(" ( BATCH_SUM_ID , BATCH_ID , ZSXM_DM , MENDING_TAX , BACK_TAX , LATE_FEE,");
sb.append(" FINE_FEE , CREATE_USER , CREATE_DATE , LAST_OP_USER , LAST_OP_DATE ) ");
sb.append(" values ( sys_guid(), '" + batch_id + "' , ? , ? , ? , ? , ? , '"+USERCODE+"' , sysdate ,'"+USERCODE+"' , sysdate ) ");
//批量插入
bgdDataSource.updateByBatchParamSql(sb.toString(), resultList, new Object[]{
"ZSXM_DM",
"MENDING_TAX",
"BACK_TAX",
"LATE_FEE",
"FINE_FEE"
});
这样就可以对你传过来的数据进行批次操作了