网创优客建站品牌官网
为成都网站建设公司企业提供高品质网站建设
热线:028-86922220
成都专业网站建设公司

定制建站费用3500元

符合中小企业对网站设计、功能常规化式的企业展示型网站建设

成都品牌网站建设

品牌网站建设费用6000元

本套餐主要针对企业品牌型网站、中高端设计、前端互动体验...

成都商城网站建设

商城网站建设费用8000元

商城网站建设因基本功能的需求不同费用上面也有很大的差别...

成都微信网站建设

手机微信网站建站3000元

手机微信网站开发、微信官网、微信商城网站...

建站知识

当前位置:首页 > 建站知识

使用Mybatis怎么批量插入数据并返回主键

这篇文章将为大家详细讲解有关使用Mybatis怎么批量插入数据并返回主键,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。

创新互联长期为上千家客户提供的网站建设服务,团队从业经验10年,关注不同地域、不同群体,并针对不同对象提供差异化的产品和服务;打造开放共赢平台,与合作伙伴共同营造健康的互联网生态环境。为乌拉特中企业提供专业的网站建设、做网站乌拉特中网站改版等技术服务。拥有十余年丰富建站经验和众多成功案例,为您定制开发。

响应效果(id为主键):

{
  "data": [
    {"studentName": "张三","classNo": "一班","id": 111},
    {"studentName": "李四","classNo": "二班","id": 112},
    {"studentName": "王五","classNo": "一班","id": 113}
  ]
}

控制层:

@PostMapping("/test")
 @ResponseBody
 public Map test(@RequestBody String data) {
 Map resultMap = new HashMap();
        //非空校验
 if (!checkParams.checkString(data)) {
  resultMap.put("code", "1");
  resultMap.put("msg", "参数为空。");
  return resultMap;
 }
        //json转List>
 JSONObject json= new JSONObject(data);
 String dataString = json.get("data").toString();
 com.google.gson.Gson gson = new Gson();
  List> list = gson.fromJson(dataString, new   com.google.common.reflect.TypeToken>>() {
  }.getType());
        //请求接口
 resultMap=registerService.test(list);
 return resultMap;
 }

接口:

public Map test(List> data);

实现类:

@Override
 public Map test(List> data) {
 Map resultMap = new HashMap();
 registerMapper.test( data);
 resultMap.put("data",data);
 return resultMap;
 }

持久层:

public void test(List> list);

statement:


 
 INSERT INTO student_info(student_name,class_no)VALUES
 
  (
  #{item.studentName},
  #{item.classNo}
  )
 
 

请求方式:

http://localhost/xxx/test

请求参数:

{
  "data": [
    {"studentName": "张三","classNo": "一班"},
    {"studentName": "李四","classNo": "二班"},
    {"studentName": "王五","classNo": "一班"}
  ]
}

注意事项:

statement中keyProperty的赋值是可以自定义的,如果将keyProperty的值改为key,即改成如下:


 
 INSERT INTO student_info(student_name,class_no)VALUES
 
  (
  #{item.studentName},
  #{item.classNo}
  )
 
 

则响应效果(key为主键)如下:

{
  "data": [
    {"studentName": "张三","classNo": "一班","key": 111},
    {"studentName": "李四","classNo": "二班","key": 112},
    {"studentName": "王五","classNo": "一班","key": 113}
  ]
}

关于使用Mybatis怎么批量插入数据并返回主键就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。


网站标题:使用Mybatis怎么批量插入数据并返回主键
URL分享:http://bjjierui.cn/article/jdicog.html

其他资讯