一、主键回填
JDBC中的Statement对象执行插入的SQL后,可以通过getGeneratedKeys方法获得数据库生成的主键,这样便能达到获取主键的功能。在insert语句中有一个开关属性useGeneratedKeys,用来控制是否打开这个功能,它的默认值是false。当打开这个开关,还配置其属性keyProperty或keyColumn,告诉系统把生成的主键放入哪个属性中,如果存在多个主键,就要用逗号(,)将它们隔离。
让程序返回主键,入代码清单所示
<insert id="insertUser" parameterType="user" useGeneratedKeys="true" keyProperty="id" >
insert inot user (userName,password) values(#{username},#{password})
</insert>
useGeneratedKeysdai代表采用JDBC的Statement对象的getGeneratedKeys方法返回主键,而keyProperty则代表将用哪个POJO的属性去匹配主键,这里是id,说明它会用数据库生成的主键去赋值给这个POJO,测试主键回填的结果。