很多时候,在向数据库插入数据时,需要保留插入数据的id,以便进行后续的更新操作或者将id存入其他表作为外键。
但是,在默认情况下,插入操作返回的是一个int值,并且不是表示主键id,而是表示当前SQL语句影响的行数…
接下来,我们看看MyBatis如何在使用MySQL和甲骨文做插入插入操作时将返回的id绑定到对象中。
MySQL用法:
& lt;插入id="插入" parameterType=" com.test。用户“keyProperty="标识" useGeneratedKeys=" true "在
上面配置中,“keyProperty”表示返回的id要保存到对象的那个属性中,“useGeneratedKeys”表示主键id为自增长模式。
MySQL中做以上配置就好了,较为简单,不再赘述。
甲骨文用法:
& lt;插入id="插入" parameterType=癱om.test.User”比; & lt; selectKey resultType=罢敝刃?爸啊眐eyProperty=氨晔丁北? 选择SEQ_USER。NEXTVAL双重userId & lt;/selectKey> 插入用户(user_id user_name、修改状态) 值(# {userId, jdbcType=整数},#{用户名、jdbcType=VARCHAR}, #{修改jdbcType=时间戳},#{状态,jdbcType=整数}) & lt;/insert>
甲骨文用法中,需要注意的是:由于甲骨文没有自增长一说法,只有序列这种模仿自增的形式,所以不能再使用“useGeneratedKeys”属性。
而是使用& lt; selectKey>将ID获取并赋值到对象的属性中,插入插入操作时正常插入ID。
以上所述是小编给大家介绍的MyBatis在插入插入操作时返回主键ID的配置,希望对大家有所帮助,如果大家有任何疑问请给我留的言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!