Mybatis随笔(二)返回主键自增值

我们在使用主键自增的数据库时,有时候业务可能需要返回自增的主键值,然后利用这个值进行一些操作。

 <insert id="saveUser" useGeneratedKeys="true" keyProperty="id">
        INSERT INTO user_info( `nickname`, `gzh_openid`, `miniprogram_openid`, `unionid`, `create_time`)
        VALUES ( #{nickname}, #{gzhOpenId}, #{miniProgramOpenId}, #{unionId}, #{createTime})
    </insert>
useGeneratedKeys 设置为true后,MyBaits 会使用JDBC的getGeneratedKeys 方法 取出由数据库内部生成的主键。获得主键后将其赋值给keyProperty配置的id属性。

原文地址:https://www.cnblogs.com/summerMuzi/p/12359430.html

时间: 2024-10-19 17:09:49

Mybatis随笔(二)返回主键自增值的相关文章

MyBatis insert操作返回主键

在写毕业设计的时候总是发现有一些小的细节问题,比如说...... MyBatis insert操作后怎么返回主键? 原来不懂的时候是调用一个select语句,将刚刚insert的对象再传入进去查出主键,但是这么写主键就没有意义了,什么都可以放到数据库里面去查. 在说,这样也会引起很多其他的问题.比如说你要查一下post表,在你不知道post_id的情况下你利用了post_name去查询post对象. 万一post_name有重复的呢?怎么办?所以有了这篇博客. 网上有很多大神写了很多mybati

MyBatis框架——mybatis插入数据返回主键(mysql、oracle)

向数据库中插入数据时,大多数情况都会使用自增列或者UUID做为主键.主键的值都是插入之前无法知道的,但很多情况下我们在插入数据后需要使用刚刚插入数据的主键,比如向两张关联表A.B中插入数据(A的主键是B的外键),向A表中插入数据之后,向B表中插入数据时需要用到A的主键. 比如添加一个用户,同时返回插入用户后得到的用户id: /** * 添加用户信息 * @param user * @throws Exception */ public int insertUser(User user) thro

PostgreSQL使用MyBatis,insert时返回主键

MyBatis中普通的insert语句是这样的: <insert id="insert" parameterType="com.xxx.xxx.xxDo"> insert into "table_name" (key, value) values (#{key,jdbcType=VARCHAR}, #{value,jdbcType=VARCHAR}) </insert> 此时Dao接口的public Integer ins

mybatis执行insert返回主键

第一种方式(推介): <!-- 所有数据库通用,插入成功返回最近一次插入的id它会将id直接赋值到对应的实体当中TStudent stu = new TStudent(); studentMapper.add(TStudent ); int pk = stu.getId(); // 这就是我们的主键id --> <insert id="add" parameterType="TStudent" useGeneratedKeys="true

关于mybatis插入数据库返回主键id

关于Sequence主键的数据库来说,如: <insert id="add" parameterType="vo.Category"> <selectKey resultType="java.lang.Short" order="BEFORE" keyProperty="id"> SELECT SEQ_TEST.NEXTVAL FROM DUAL </selectKey>

mybatis insert 如何返回主键

在使用ibatis插入数据进数据库的时候,会用到一些sequence的数据,有些情况下,在插入完成之后还需要将sequence的值返回,然后才能进行下一步的操作.       使用ibatis的selectKey就可以得到sequence的值,同时也会将值返回.不过对于不同的数据库有不同的操作方式.       对于oracle:       <insert id="insertUser" parameterClass="ibatis.User">   

mybatis的insert返回主键

Java代码   <insert id="insert" useGeneratedKeys="true" keyProperty="id" parameterType="com.model.OperationBookList" > insert into operation_book_list (id, name, introduce, category, state, up_date, stop_date, do

spring mybatis 批量插入返回主键

1.模型 public class AzTest { private Integer id; private Integer age; private String title; public Integer getId() { return id; } public void setId(Integer id) { this.id = id; } public Integer getAge() { return age; } public void setAge(Integer age) {

mybatis.net insert 返回主键

<insert id="insertORACLE" parameterClass="product">   <selectKey resultClass="int" type="pre" property="Id" >      SELECT STOCKIDSEQUENCE.NEXTVAL AS VALUE FROM DUAL   </selectKey>   inser