java ssm多表插入_SSM批量添加数据

本文介绍了在Java SSM框架下进行批量数据插入的两种方法:一是通过JSON格式,利用@RequestBody注解接收前端传来的List数据,然后遍历插入数据库;二是使用传统的form表单,结合EmpList类作为集合接收对象,同样遍历插入数据库。前端部分展示了如何构造数据并发送POST请求。
摘要由CSDN通过智能技术生成

如何应对面临批量数据时如何提交给后台

bc889760e1928f4205f91c525f1bb802.png

方式1:

使用JSON格式

后台功能接受实现使用@ResponseBody

前端当有多行数据的时候添加到一个数组再通过JSON格式到后台List接收

@RequestMapping(value = "/emp01",method = RequestMethod.POST, produces = "application/json")

@ResponseBodypublic String empAdd02(@RequestBody Listlist){for(Employee e: list) {

employeeMapper.insert(e);

}return "{\"msg\":\"succeed\"}";

}

该参数为一个员工对象集合

以下是前端:

批量添加员工

text-align: center;

height: 40px;

line-height: 40px;

}

.tab{

background-color: #F8F8F8;

}

编号姓名性别学历月薪添加移除

请选择

请选择

本科

专科

硕士

博士

编号姓名性别学历月薪
${emp.number}${emp.empName}${emp.empSex}${emp.education}${emp.monthly}

var tbody= $("#tbody01");

trNode=tbody.clone();

tbody.on("click", " .empAdd", function () {

$("#tbody01").append(trNode.clone());

});

tbody.on("click",".empRem",function () {

var num= $("tr",tbody).length;if( num === 1){

alert("最后一行不能删除");return false;

}

$(this).parent().parent().remove();

});

});/*数组*/$("#addAll").click(function(){

var list=[];

$("#tbody01 tr").each(function (i,obj) {

list.push(

{

number:$("input[name=number]",obj).val(),

empName:$("input[name=empName]",obj).val(),

empSex:$("select[name=empSex]",obj).val(),

education:$("select[name=education]",obj).val(),

monthly:$("input[name=monthly]",obj).val()

}

);

});

console.log(list);

$.post({

url:"/emp01",

contentType:"application/json;charset=utf-8",

data:JSON.stringify(list)

}).done(function (data) {if(data.msg === "succeed"){

window.location.href= "/eee";

}

});

});

方式2:

传统的form表单

此时使用form表单的话如有多个tr的批量数据

后台的话就需要借助一定集合类来实现了

packagecom.dz147.entity;importjava.util.List;public classEmpList {public ListaddEmp;

@OverridepublicString toString() {return "EmpList{" +

"addEmp=" + addEmp +

'}';

}public ListgetAddEmp() {returnaddEmp;

}public void setAddEmp(ListaddEmp) {this.addEmp =addEmp;

}

}

里面是个员工集合字段做为存储批量数据的作用

通过form表单POST方法提交到controller

方法第二参数为集合类对象

@RequestMapping(value = "/empAdd", method =RequestMethod.POST)publicString empAdd(Model model,EmpList empList){for(Employee emp:empList.addEmp) {

employeeMapper.insert(emp);

}return "redirect:/emp";

}

通过对象得到List集合对象

循环取出单个对象再往数据库添加

前端如何实现对集合对象赋值呢

表单的name 通过addEmp[0].id(通过存储对象[0]表示第一个对象点某个字段)

EmpList 类相当于中转站一样存储对象。

批量添加员工

table tr{text-align:center;height:40px;line-height:40px;

}table tr:hover{background-color:#F8F8F8;

}

编号姓名性别学历月薪添加移除

请选择

请选择

本科

专科

硕士

博士

编号姓名性别学历月薪${emp.number}${emp.empName}${emp.empSex}${emp.education}${emp.monthly}

/*数组*/

vari=0;functionadd(){

i++;vart="

" +

"

" +

"

请选择" +

"男" +

"女

" +

"

请选择" +

"专科" +

"硕士" +

"博士

" +

"

" +

"

" +

"

";vartable=document.getElementById("emps_table").innerHTML;

table+=t;

document.getElementById("emps_table").innerHTML=table;

}functionrem(obj){if(i>0){

i--;

obj.parentElement.parentElement.remove();

}else{

alert("不能再移除了!")

}

}

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值