Mybatis插入时返回自增主键(selectKey和useGeneratedKeys)
2018-02-04 19:38
597 查看
<insert id="insert"> <selectKey keyProperty="id" resultType="int" order="BEFORE"> <if test="_databaseId == 'oracle'"> select seq_users.nextval from dual </if> <if test="_databaseId == 'db2'"> select nextval for seq_users from sysibm.sysdummy1" </if> </selectKey> insert into users values (#{id}, #{name}) </insert>
通过selectKey在插入操作前或者操作后获取key值,做为字段插入或返回字段。(此段代码获取的序列值id作为字段值插入到users表中)
useGeneratedKeys
如果数据库支持自增长主键字段(比如mysql、sql server)设置useGeneratedKeys=”true”和keyProperty,这样就可以插入主键id值oracle则不支持自增长id,设置useGeneratedKey=”false”,如果设置true则会有报错信息。通过nextval函数,如SEQ_table.Nextval生成id
<insert id="addCover" parameterType="java.util.Map" useGeneratedKeys="true" keyProperty="Id"> insert into cover(title,path,update_time) values(#{title},#{path},#{update_time}) </insert>
int addCover(Map<String,Object> map);
相关文章推荐
- mysql数据库插入数据获取自增主键的三种方式(jdbc PreparedStatement方式、mybatis useGeneratedKeys方式、mybatis selectKey方式)
- Mybatis利用useGeneratedKeys返回最新插入记录的id Parameter 'id' not found. Available
- mybatis新增时返回主键id,useGeneratedKeys的用法
- jdbc-mysql基础 ResultSet getGeneratedKeys 插入一条字段并返回其主键
- Mybatis自动生成key值(selectKey和useGeneratedKeys)
- Mybatis插入语句useGeneratedKeys="true"的用法
- MyBatis之主键自增——useGeneratedKeys
- Mybatis自动生成key值(selectKey和useGeneratedKeys)
- Mybatis自动生成key值(selectKey和useGeneratedKeys)
- mybatis3 :insert返回插入的主键(selectKey)
- Mybatis插入语句useGeneratedKeys="true"的用法
- MyBatis+MySQL 返回插入的主键ID
- mybatis mysql 插入对象返回数据主键id
- mybatis 使用自增主键, 插入记录并返回自增主键 MySQL
- mybatis插入数据返回主键
- Java MyBatis 插入数据库返回主键
- MyBatis插入语句返回主键值
- MyBatis在insert插入操作时返回主键ID的配置
- mybatis插入一条记录,返回自增主键值
- 在JAVA中查询刚插入的记录ID 利用JDBC的getGeneratedKeys获得INSERT插入后生成的主键ID