springboot項目實現批量新增功能


這個困擾我一整天東西,終於解決了。

  首先是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                         })

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM