往数据库表中插入一条数据的同时,返回该条数据在数据库表中的自增主键值。
场景模拟:
学校开学,组建新班级,并向新班级中分配学生,存在两张表班级表和新生表,为新生分配班级的时候需要班级的id号,但是id号是自增产生的,那么就需要获取班级的自增id号。
简单来说:1. 创建班级表 2. 获取班级id 3. 将班级id插入新生表中
插入insert不能返回实体类,只能返回受影响的行数。
void insertUser(User user)
<insert id="insertUsers" useGeneratedKeys="true" keyProperty="id">
INSERT INTO t_user VALUES(NULL, #{username}, #{password}, #{age}, #{gender}, #{email});
</insert>
useGeneratedKeys="true":当前添加功能使用自增主键
keyProperty="id":当前添加的自增主键为实体名为“id”的属性赋值。
最终可直接输出实体类,自增主键就能输出
User user = new User(null,"zhangtao", "761311", 12,"男","ztao3243163.com"); // 执行SQL操作 userMapper.insertUsers(user);
System.out.println(user);
输出:User(id=21, username=zhangtao, password=761311, age=12, gender=男, email=ztao3243163.com)