<>注意:该方法只适用于 MySQL 和 SQLServer数据库

<>使用属性useGeneratedKeys和keyProperty

*
useGeneratedKeys(true/false):设置是否使用JDBC的getGenereatedKeys方法获取主键并赋值到keyProperty设置的领域模型属性中
* keyProperty : 填写 java 对象的字段名称
<>使用样例

mapper
<insert id="addUser" parameterType="xxx.xxx.model.xx" useGeneratedKeys="true"
keyProperty="id"> insert into user(username, name, password) values
(#{item.username}, #{item.name}, #{item.password})</insert>
service
public void addUser(User user) { systemMapper.addUser(user); user.getId(); }
<>user.getId() 获取不到最新主键id

检查 dao 层接口是否使用了 @Param 注解
例如:
void addUser(@Param("item") User user);
那么修改 mapper.xml
<insert id="addUser" parameterType="xxx.xx.xx" useGeneratedKeys="true"
keyProperty="item.id"> insert into user(username, name, password) values
(#{item.username}, #{item.name}, #{item.password})</insert>

技术
©2020 ioDraw All rights reserved
ES6数组去重的三个简单办法synchronized是公平锁还是非公平锁【Vue简易入门】父子组件传值智慧屏和智能穿戴开发:容器组件dialogpython--大一期末测试题(含答案)Java Spring Cloud 微服务架构图软件测试流程图VUE基础知识点整理【SpringBoot注解-4】:@Target、@Retention、@Documented注解简介【编写高质量代码:改善Java程序的151个建议】第1章:Java开发中通用的方法和准则___建议14~20