问题描述
表Student(id, name, sex),id为主键,自增。
新建student对象,mapper文件实现id自增。成功插入student之后,打印新插入的student对象,发现id=null。
Student student = new Student();
student.setName("Jack");
student.setSex("male");
studentService.insertStudent(student);
System.out.println(student);
console窗口打印如下:
Studeng(id=null, name=Jack, sex=male)
studentMapper内容如下:
<insert id="insertStudent" parameterType="com.xxx.Student">
insert into student
(
name,
sex
)
values
(
#{name},
#{sex}
)
SELECT @@IDENTITY AS id
</insert>
解决方案
修改StudentMapper文件
<insert id="insertStudent" parameterType="com.xxx.Student" useGeneratedKeys="true" keyProperty="id">
insert into student
(
name,
sex
)
values
(
#{name},
#{sex}
)
</insert>
指定bean中的id字段接收 自增主键。此时,插入之后打印,显示结果如下:
Studeng(id=12, name=Jack, sex=male)