useGeneratedKeys=“true” : 是否开启生成主键
keyColumn=“数据库中主键名称”
eyProperty=“(实体类中主键对应的名称或者自定义名称)”>
如果你传入的参数是实体类, 那么请注意keyProperty 对应的应该是实体类中的主键ID;
如果你传入的参数是map,那么就可以自定义名称.
注意:新添加主键id并不是在执行添加操作时直接返回的,而是在执行添加操作之后将新添加记录的主键id字段返回到传入的参数类中.
例如:
<insert id="addUser" parameterType="map" useGeneratedKeys="true" keyColumn="id" keyProperty="id">
INSERT INTO saishiguanli.users
(createDate, modifyDate, isEnabled, isLocked, lastLoginDate, lastLoginIp, lockDate, name, encodePassword)
VALUES
(#{createDate},#{modifyDate},#{isEnabled},#{isLocked},#{lastLoginDate},#{lastLoginIp},#{lockDate},#{name},#{encodePassword})
</insert>
调用addUser方法后
int id = Integer.parseInt(hashMap.get("id").toString()); 便可以取得主键ID;
若 传入的是实体类, 那么调用方法后 int id = user.getId(); 即可