这篇文章将为大家详细讲解有关使用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 接口:
public Maptest(List > data);
实现类:
@Override public Maptest(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怎么批量插入数据并返回主键就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。