| | |
| | | package com.ruoyi.demo.controller; |
| | | |
| | | import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
| | | import com.ruoyi.common.core.controller.BaseController; |
| | | import com.ruoyi.common.core.domain.AjaxResult; |
| | | import com.ruoyi.common.core.domain.R; |
| | | import com.ruoyi.common.core.web.controller.BaseController; |
| | | import com.ruoyi.demo.domain.TestDemo; |
| | | import com.ruoyi.demo.mapper.TestDemoMapper; |
| | | import io.swagger.annotations.Api; |
| | | import io.swagger.annotations.ApiOperation; |
| | | import lombok.RequiredArgsConstructor; |
| | | import org.springframework.web.bind.annotation.DeleteMapping; |
| | | import org.springframework.web.bind.annotation.PostMapping; |
| | |
| | | * @author Lion Li |
| | | * @date 2021-05-30 |
| | | */ |
| | | @Api(value = "测试批量方法", tags = {"测试批量方法"}) |
| | | @RequiredArgsConstructor |
| | | @RestController |
| | | @RequestMapping("/demo/batch") |
| | |
| | | * <p> |
| | | * 3.5.0 版本 增加 rewriteBatchedStatements=true 批处理参数 使 MP 原生批处理可以达到同样的速度 |
| | | */ |
| | | @ApiOperation(value = "新增批量方法") |
| | | @PostMapping("/add") |
| | | // @DS("slave") |
| | | public AjaxResult<Void> add() { |
| | | public R<Void> add() { |
| | | List<TestDemo> list = new ArrayList<>(); |
| | | for (int i = 0; i < 1000; i++) { |
| | | TestDemo testDemo = new TestDemo(); |
| | | testDemo.setOrderNum(-1L); |
| | | testDemo.setOrderNum(-1); |
| | | testDemo.setTestKey("批量新增"); |
| | | testDemo.setValue("测试新增"); |
| | | list.add(testDemo); |
| | | } |
| | | return toAjax(testDemoMapper.insertBatch(list) ? 1 : 0); |
| | | return toAjax(testDemoMapper.insertBatch(list)); |
| | | } |
| | | |
| | | /** |
| | |
| | | * <p> |
| | | * 3.5.0 版本 增加 rewriteBatchedStatements=true 批处理参数 使 MP 原生批处理可以达到同样的速度 |
| | | */ |
| | | @ApiOperation(value = "新增或更新批量方法") |
| | | @PostMapping("/addOrUpdate") |
| | | // @DS("slave") |
| | | public AjaxResult<Void> addOrUpdate() { |
| | | public R<Void> addOrUpdate() { |
| | | List<TestDemo> list = new ArrayList<>(); |
| | | for (int i = 0; i < 1000; i++) { |
| | | TestDemo testDemo = new TestDemo(); |
| | | testDemo.setOrderNum(-1L); |
| | | testDemo.setOrderNum(-1); |
| | | testDemo.setTestKey("批量新增"); |
| | | testDemo.setValue("测试新增"); |
| | | list.add(testDemo); } |
| | | list.add(testDemo); |
| | | } |
| | | testDemoMapper.insertBatch(list); |
| | | for (int i = 0; i < list.size(); i++) { |
| | | TestDemo testDemo = list.get(i); |
| | |
| | | testDemo.setId(null); |
| | | } |
| | | } |
| | | return toAjax(testDemoMapper.insertOrUpdateBatch(list) ? 1 : 0); |
| | | return toAjax(testDemoMapper.insertOrUpdateBatch(list)); |
| | | } |
| | | |
| | | /** |
| | | * 删除批量方法 |
| | | */ |
| | | @ApiOperation(value = "删除批量方法") |
| | | @DeleteMapping() |
| | | // @DS("slave") |
| | | public AjaxResult<Void> remove() { |
| | | public R<Void> remove() { |
| | | return toAjax(testDemoMapper.delete(new LambdaQueryWrapper<TestDemo>() |
| | | .eq(TestDemo::getOrderNum, -1L))); |
| | | } |