MyBatis返回主键

网上给的例子都很简单 , 只要用useGeneratedKey就行了.

    @Insert({ "INSERT INTO money_record_increasement (id, createTime) VALUES (null, #{createTime})" })
    @Options(useGeneratedKeys = true, keyProperty = "id")
    int insertMoneyRecordIncreasement(MoneyRecordIncreasement record);

可这时候如果直接使用返回的这个int型的变量,发现是1 , 也就是成功返回1 . 返回的主键是不能这么用的 ......返回的主键是从插入的对象中获取的 .  如下

MoneyRecordIncreasement moneyRecordIncreasement = new MoneyRecordIncreasement();
        moneyRecordIncreasement.setCreateTime(createTime);
        int id = moneyRecordIncreasementMapper.insertMoneyRecordIncreasement(moneyRecordIncreasement);

        return moneyRecordIncreasement.getId();

这里id是是否成功的标示 , 要返回主键id , 需要从对象身上获取....

时间: 2024-10-09 08:56:27

MyBatis返回主键的相关文章

开启事务时mybatis返回主键id

先说一下没有注解的 先给出实体类: public class City { private int city_id; private String city_name; public int getCity_id() { return city_id; } public void setCity_id(int city_id) { this.city_id = city_id; } public String getCity_name() { return city_name; } public

MyBatis 返回主键

1,用于插入语句 2,传入对象 3,使用下面的属性即可 userGengratedKeys="true" keyProperty="orderId" keyColum="order_id" keyProperty:pojo 类的 id 属性 keyColum:数据库主键字段 原文地址:https://www.cnblogs.com/huanggy/p/9471878.html

Mybatis 插入数据后返回主键值

Oracle中获取刚刚插入记录的主键值: <insert id="insertSelective" parameterType="com.jxxx.p2pp.model.UUserInfo">     <selectKey resultType="java.math.BigDecimal" order="BEFORE" keyProperty="id">    SELECT U_US

MyBatis insert操作返回主键

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

MyBatis在Oracle中插入数据并返回主键的问题解决

引言:  在MyBatis中,希望在Oracle中插入数据之时,同时返回主键值,而非插入的条数... 环境:MyBatis 3.2 , Oracle, Spring 3.2   SQL Snippet in XML Configuration: <insert id="insertSelective" parameterType="com.jxxx.p2pp.model.UUserInfo"> <selectKey resultType="

Mybatis中insert中返回主键ID的方法

1.XyzMapper.xml <insertid="doSomething"parameterType="map"useGeneratedKeys="true"keyProperty="yourId"> ... </insert> 或 <insert id="doSomething" parameterType="com.xx.yy.zz.YourClass&quo

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

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

mybatis在oracle插入对象后返回主键值

在mybatis中默认插入一条记录后,返回值为插入记录的条数. 现在想获取插入记录后,当前被插入的记录的主键值,需在insert方法中添加如下代码: <insert id="insert" parameterType="cn.com.pm.ppm.model.UserInfo" >   <selectKey resultType="java.math.BigDecimal" order="BEFORE" ke

MyBatis insert 返回主键的方法

数据库:SqlServer2005,表结构: /*==============================================================*/ /* Table: Dic_City                                              */ /*==============================================================*/ create table Dic_City (