在执行insert语句后,如果希望直接返回的实体类携带了生成的自增id,就需要在sql语句中指定useGeneratedKeys和keyProperty属性值。
<!--
所有数据库通用,插入成功返回最近一次插入的id
它会将id直接赋值到对应的实体当中
YyghDdxx yyghddxx = new YyghDdxx();
OrderMapper.insert(YyghDdxx record);
int pk = yyghddxx.getId(); // 这就是我们的主键id
-->
<insert id="insert" parameterType="com.order.model.YyghDdxx" useGeneratedKeys="true"
keyColumn="ID" keyProperty="id">
insert into Yygh_Ddxx(ID,name, age,phonenumber)
values(#{id,jdbcType=int}, #{name,jdbcType=VARCHAR},{age,jdbcType=int},{phonenumber,jdbcType=VARCHAR})
</insert>
一、insert 属性详解
parameterType ,入参的全限定类名或类型别名
keyColumn ,设置数据表自动生成的主键名。对特定数据库(如PostgreSQL),若自动生成的主键不是第一个字段则必须设置
keyProperty ,默认值unset,用于设置getGeneratedKeys方法或selectKey子元素返回值将赋值到领域模型的哪