在 insert 元素结束后,我们可以使用 SELECT LAST_INSERT_ID() 函数获取插入记录的主键 ID:<insert id="insertUser" parameterType="User" useGeneratedKeys="false"> insert into user (name, age) values (#{name}, #{age}) <selectKey resultType="java.lang.Integer" keyProperty="id" order="AFTER">...
说明:1、< insert> 标签中没有 resultType 属性,但是 < selectKey> 标签是有的。2、order=“AFTER” 表示先执行插入语句,之后再执行查询语句。3、keyProperty=“id” 表示将自增长后的 Id 赋值给实体类中的 id 字段。4、SELECT LAST_INSERT_ID() 表示 MySQL 语法中查询出刚刚插入的记录自增长 Id。最终结果...
<insert id="add"parameterType="EStudent">// 下面是SQLServer获取最近一次插入记录的主键值的方式<selectKey resultType="_long"keyProperty="id"order="AFTER">select @@IDENTITYasid</selectKey>insert intoTStudent(name,age)values(#{name},#{age})</insert> 由于手段②获取主键的方式依赖数据库本身,因此推荐...
MappedStatementms,ObjectparameterObject,booleanisInsert){if(null==tableInfo){/* 不处理 */returnparameterObject;}/* 自定义元对象填充控制器 */MetaObjectmetaObject=ms.getConfiguration().newMetaObject(parameterObject);// 填充主键if(isInsert&&!StringUtils.isEmpty(tableInfo.getKeyProperty())&&null!=tableInf...
<insertid="add"parameterType="EStudent">// 下面是SQLServer获取最近一次插入记录的主键值的方式<selectKeyresultType="_long"keyProperty="id"order="AFTER">select @@IDENTITY as id</selectKey>insert into TStudent(name, age) values(#{name}, #{age})</insert> ...
public int insert(CountRateConfig countRateConfig) { int insertNum = Integer.parseInt(countRateConfigMapper.insert(countRateConfig) + ""); Long id = countRateConfig.getId(); return insertNum; } 3、上述代码,如果插入数据成功的话,则可以找到数据库中对应的key; ...
KeyGenerator keyGenerator = mappedStatement.getKeyGenerator(); // 在执行添加操作完毕之后,再处理记录主键字段值 keyGenerator.processAfter(executor, mappedStatement, ps, parameterObject); // 添加记录时返回的是记录数,而并非记录的主键字段值 return rows; ...
> <selectKey keyProperty="id" keyColumn="id" resultType="int" order="AFTER" > select last_insert_id(); </selectKey> insert into stu2.user(username,birthday,sex,address) values(#{username},#{birthday},#{sex},#{address}); </insert>9:在mapper中如何传递多个参数?1、第一...
如果是初次插入,那么他会正常返回id,如果该记录以及生成了,那么他不会返回id。具体,我们再把刚才的数据再插入一次 再次运行,然后debug,若能够进入断点,那么说明我们的判断就是正确的。 正如我们所预料的,那么,可以判断此次插入,是属于重复插入或者是失败插入。
1<insertid="insert"parameterType="int"2useGeneratedKeys="true"keyProperty="id">3insert into test(name) values(#{name})4</insert> 2.Mybatis 执行完插入语句后,自动将自增长值赋值给对象 systemBean 的属性id。因此,可通过 systemBean 对应的 getter 方法获取!