mybatis insert语句执行完毕返回自增主键值

使用mybatis时,为了操作两个表,后表是以前表主键作为外键的,因此为了在前表插入时同时插入后表,此时需要前表操作完毕后返回主键的值,因此就有了以下

<!--    增加一个学生  此处采用返回创建主键的值-->
    <insert id="insertOne" parameterType="com.Mapper.student" useGeneratedKeys="true" keyProperty="stuId" >
        insert into student(stuName,stuSex,stuGrade,stuProfession,stuClass) values(#{stuName},#{stuSex},#{stuGrade},#{stuProfession},#{stuClass});
   </insert>

useGeneratedKeys=“true”
keyProperty=“stuId” //主键属性
添加这两个属性后就可以实现
如何获取呢?
首先错误的写法

int i = mapper.insert([class] className);

此时并不会获得主键的值只会获得0或1 标识成功或失败
正确写法

int i = className.get[主键名]);

因为mybatis将主键装入到传过来的参数类中。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值