需求
点击保存的时候需要将上面四条数据添加到数据库中,并将原数据库中的数据清空,添加新的数据
js代码如下:
var sjArray = [];
$("tr").each(function(i,v){//遍历tr
var yarray = [];
if(i >= 1){
$(v).find("td").each(function(i1,v1){//遍历tr下面的td
if(i1 < $(v).find("td").length-1){
yarray.push($(v1).find("input").val());
}
})
}
sjArray.push(yarray)
})
$.ajax({
type:"POST",
url:contextPath + '/ChartElementInfo/sdlrAjbxxAysszSave',
dataType:"json",
data:{num:num,newArr:JSON.stringify(sjArray)},
async: false,
success:function(result){
if (result.code == 200) {
alert("添加成功");
window.location.href = contextPath + '/ChartElementInfo/toshow';
}else{
alert("添加失败");
}
}
});
后台接收到的sjarray的格式如下:

使用sql插入功能,使用insert的方法
insert into tablename(id,name)values(x,x);格式
后台代码如下:
/*
* 手动录入数据的保存
*/
@Transactional(propagation=Propagation.SUPPORTS)
@Override
public void getSave(String num,String newArr) throws Exception{
JSONArray jsonArray = JSONArray.parseArray(newArr);
ChartElementInfo info = this.get(num);
String dataTable = info.getDataTable();
//将数据库中内容清空
this.chartElementInfoDao.del(dataTable);
//遍历jsonArray将数据保存到list中
List<List<Object>> data = new ArrayList<List<Object>>();
for (int i =1; i<jsonArray.size();i++) {
String obj = jsonArray.get(i).toString();
List<Object> row = new ArrayList<Object>();
JSONArray array = JSONArray.parseArray(obj);
for (int j=0; j<array.size();j++) {
String str = array.get(j).toString();
row.add(str);
}
data.add(row);
}
//字段拼接
String flieds = "id";
List<ChartElementData> list = this.chartElementDataService.getChartElementDataByFkId(num);
Database database = this.dataBaseService.get(info.getDatabaseId());
this.getConnection(database);
Statement statement = null;
//拿到需要添加数据的字段名称
for (ChartElementData chartElementData : list) {
flieds = flieds+","+chartElementData.getFieldName();
String type = chartElementData.getDataType();
}
//拼接需要添加的数据
for (List<Object> list2 : data) {
//数据拼接
String datas = "'"+UuidUtil.uuids()+"'";
for (Object object : list2) {
if(object instanceof java.lang.String){
datas = datas+",'"+object+"'";
}else{
datas = datas+","+object;
}
}
try {
statement = connection.getConn().createStatement();
String sql = "insert into "+dataTable+"("+flieds+") values("+datas+")";
statement.executeUpdate(sql);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally{
if (statement != null) {
try {
statement.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}
//关闭连接
connection.closeConn();
}
