mybatis+mysql返回插入数据主键

工作中有这么个需求:后边数据依赖前边插入数据的主键,所以需要插入返回主键;当然了,还有更好的方法,直接用mybatis配置关联表,一次插入多个关联表,但是这样做的话,各个业务实体间的耦合度就回升高,不利于扩展。最后,回归到获取返回主键处理,一般insert语句返回值是插入的条数,但是让插入语句返回主键值还没有试过。网上找了,大部分都是集中到:

    <selectKey resultType="java.lang.Integer" order="AFTER" keyProperty="id">  
          SELECT LAST_INSERT_ID() AS ID    
    </selectKey>  
之类的配置,本人试了下,发现这样做多此一举,因为我们只需要配置:

	<insert id="addUser" useGeneratedKeys="true" keyProperty="uid">
        INSERT INTO uc_members (
            mobile,
 。。。
        	myidkey ,
        	regip ,
        	regdate ,
        	lastloginip ,
        	lastlogintime ,
        	secques ,
        	login_error_num ,
        	login_error_time ,
        	login_lock_time,
        	channel
        ) VALUES (
    。。。
        	'',
        	0,
        	0,
        	0,
        	#{channel}
        )

	</insert>
而,mapper接口中方法声明:public int  addUser (User member);

只要把 实体 User 中的主键 和 keyProperty="uid"对应上,插入结束,传入的参数 member 中的uid就已经被mybatis赋值为最新的id了。

是不是很爽,完全不用下面的配置:

<pre name="code" class="html">    <selectKey resultType="java.lang.Integer" order="AFTER" keyProperty="id">  
          SELECT LAST_INSERT_ID() AS ID    
    </selectKey>  

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值