关于mybatis插入时如何获取自增id
2017-06-06 09:30
429 查看
一般mybatis插入的话不像hibernate会返回像mysql或者sql server这些关系数据库中的自增id,那该怎么样才能从插入时返回数据库中的自增id呢?其实mybatis已经为我们做了这样一个设置,只需要在写插入语句定义好返回主键id对应传入的java对象中的主键属性,像这样。
所以我们必须把这属性设为true,然后再设置keyProperty也就是对应我们传入java对象中的主键属性,最后自增id就会重新赋值该属性,这样就可以通过这个对象来获取我们想要的自增id。
<insert id="insertAuthor" useGeneratedKeys="true" keyProperty="id"> insert into Author (username, password, email, bio) values <foreach item="item" collection="list" separator=","> (#{item.username}, #{item.password}, #{item.email}, #{item.bio}) </foreach> </insert>
useGeneratedKeys 官方解释是这样的(仅对 insert 和 update 有用)这会令 MyBatis 使用 JDBC 的 getGeneratedKeys 方法来取出由数据库内部生成的主键(比如:像 MySQL 和 SQL Server 这样的关系数据库管理系统的自动递增字段),默认值:false。
所以我们必须把这属性设为true,然后再设置keyProperty也就是对应我们传入java对象中的主键属性,最后自增id就会重新赋值该属性,这样就可以通过这个对象来获取我们想要的自增id。
相关文章推荐
- 使用mybatis, 如何获取刚插入数据的id
- mybatis如何获取插入记录后的自增ID
- Mybatis如何在插入操作后获取主键的ID值
- Mybatis如何在插入操作后获取主键的ID值
- 如何获取自增长列(标识列)的ID,并写入另一张表(多对多关系插入数据示例)
- SQLServer 如何获取刚插入数据的Id号
- Mybatis获取插入记录的自增长ID
- PHP如何获取刚插入数据的ID 和判断SQL语句是否成功执行
- MongoDB在插入后,如何获取对应的ObjectId
- SQLServer 如何获取刚插入数据的Id号
- 如何插入一条记录获取插入后的自动增长ID列的方法.
- mybatis插入的同时获取主键id
- mybatis插入一条记录如何返回该记录的ID
- 如何在c#中获取当前插入的自增ID号?
- JSP中如何获取刚插入记录的ID,此Id是自增的
- 如何获取自增长列(标识列)的ID,并写入另一张表(多对多关系插入数据示例)
- MySQL中如何获取下一条插入的自增ID 或 刚刚插入的id
- SQLServer 如何获取刚插入数据的Id号
- mybatis获取当前插入记录的id
- 关于mybatis插入数据库返回主键id