通用mapper批量插入返回主键id

最近在使用tk通用mapper插入的时候需要批量插入数据并且返回主键id,在网上查了很多资料,后来发现原来mybatis在插入的时候自动给主键赋值了,只要插入成功直接打印对象id就是主键。

我用insetList()方法进行批量插入数据:

	List<User> users = new ArrayList<>();
	User user = new User();
	user.setName("小四");
	user.setSex("男");
	users.add(user);
	User user2 = new User();
	user.setName("小五");
	user.setSex("女");
	users.add(user2);
	int i = userMapper.insertList(users);
	//如果批量插入成功
	if(i > 0){
		for (int i = 0; i < users.size(); i++) {
			System.out.println("插入的users主键id====" + users.get(i).getId());
		}
	}

这样就返回的是包含主键id的users集合,因为mybatis插入的时候会自动给主键id进行赋值。

注意:
User实体类里面的id字段要进行主键的注解:

import lombok.Data;
import javax.persistence.*;

@Data
@Table(name = "user")
public class User {
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Integer id;

    private String name;

    private String sex;
}

我以前的一篇文章写了单个对象插入返回主键id的方法,可以点击这里查看。

你可能感兴趣的:(mybatis,mysql)