个人公众号🐕已经开通了,欢迎关注!
面试宝典公众号:源1024
- 第一种方式:添加selectKey标签属性
useGeneratedKeys设置为 true ,表示如果插入的表id以自增列为主键,则允许 JDBC 支持自动生成主键,并可将自动生成的主键id返回。
useGeneratedKeys参数只针对 insert 语句生效,默认为 false;
<insert id="insert" keyProperty="id" useGeneratedKeys="true">INSERT INTO student( name, age) values(#{name},#{age})</insert>
- 第二种方式:selectKey标签属性
在xml文件,添加selectKey标签属性,
resultType:查询结果的类型;
keyProperty:把查询的值赋给id;
order:id在insert语句插入之后才会生成id,所以要在插入之后执行,用AFTER
<insert id="insert"><selectKey keyProperty="id" order="AFTER" resultType="java.lang.Integer">SELECT LAST_INSERT_ID()</selectKey>INSERT INTO student( name, age) values(#{name},#{age})</insert>
建议使用第一种方式,第二种方式不适配达梦数据源,没有多数据源的自由选择。