欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

springboot项目实现批量新增功能

程序员文章站 2022-10-08 16:20:22
这个困扰我一整天东西,终于解决了。 首先是mybatis中的批量新增sql语句。 注意:这里我给的是我需要新增的字段,你们改成你们需要的字段。 然后直接上Controller层接口。 注意:这里我的类上写的注解是@RestController,如果你们写的是@Controller,别忘了在方法上加@ ......

这个困扰我一整天东西,终于解决了。

  首先是mybatis中的批量新增sql语句。

  注意:这里我给的是我需要新增的字段,你们改成你们需要的字段。

1 <insert id="insertbatch" >
2     insert into hm_authorization (id,role_code,res_type_code,res_code)
3     values
4     <foreach collection="list" item="item" index="index" separator=",">
5       (#{item.id},#{item.rolecode},#{item.restypecode},#{item.rescode})
6     </foreach>
7   </insert>

  然后直接上controller层接口。

  注意:这里我的类上写的注解是@restcontroller,如果你们写的是@controller,别忘了在方法上加@responsebody。

  解释一下该代码:list泛型里边放你们自己对象,json.parsearray是fastjson包中的方法。附上jar包的maven引用。

  这里我的方法可能有些笨,不过实现最重要。一开始我也尝试用list接收,但是接收不了。百度出来各种方法感觉都是闲扯淡。反正我用不了。

<!-- https://mvnrepository.com/artifact/com.alibaba/fastjson -->
        <dependency>
            <groupid>com.alibaba</groupid>
            <artifactid>fastjson</artifactid>
            <version>1.2.58</version>
        </dependency>

 

1 @postmapping(value = "addbatch")
2     public resultvo addbatch(@requestparam string data){
3         system.out.println(data);
4         string strlist = data;
5         list<authvo> array = json.parsearray(strlist,authvo.class);
6 
7         return authorizationservice.insertbatch(array);
8     }

   然后是前端的处理问题

 1 //前端我是用的表格,选中直接获取了数组。如果你们不能直接获取数组,
 2 //先把数据进行遍历为一个数组。至于怎么遍历,百度吧。
 3 //确定你的数据是数组的格式后,把数据转为json格式。就行了。
 4 //监听表格复选框选择
 5                     $("#add").on('click', function () {
 6                         //table.on('checkbox(useruv)', function(obj) {
 7                         var checkstatus = table.checkstatus('lay_table_user');
 8                         var obj = checkstatus.data;
 9                         var info = json.stringify(obj);
10                         console.log(info);
11                         $.ajax({
12                             type: "post",
13                             url: "addbatch",
14                             data: "data="+info,
15                             datatype: "json",
16                             success: function (d) {
17                                 if (d.code == 1) {
18                                     layer.msg("新增成功", {
19                                         icon: 6
20                                     });
21                                 } else {
22                                     layer.msg("新增失败", {
23                                         icon: 5
24                                     });
25                                 }
26                             }
27                         })