专栏首页Java 学习Mybatis 主键返回

Mybatis 主键返回

1.1 xml 配置主键返回

<!--
    last_insert_id()    :    查询刚插入数据自增 id
    order               :    执行的时机: after 之前执行; before 之后执行
    keyProperty         :    与实体类属性保持一致
    keyColumn           :    与数据库字段保持一致
-->
<insert id="save" parameterType="orders" >
    <selectKey keyProperty="id" keyColumn="id" resultType="int" order="AFTER" >
        select last_insert_id();
    </selectKey>
    
    insert into orders value(null, #{ordertime}, #{total}, #{uid})
</insert>

1.2 注解配置主键返回

@Options(useGeneratedKeys = true, keyProperty = "id", keyColumn = "id")
@Insert("insert into orders values(null, #{ordertime}, #{total}, #{uid})")
Integer insert(Orders orders);

1.3 获取主键

// 实体类对象,属性值省略
Orders orders;
// 插入,返回值为影响的行数
Integer rows = sqlSession.getMapper(OrdersDao.class).insert(orders);
// id 需要通过实体类对象获取
Long id = orders.getId()

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • MyBatis 多表操作

      关系数据库中第一个表中的单个行只可以与第二个表中的一个行相关,且第二个表中的一个行也只可以与第一个表中的一个行相关。

    Demo_Null
  • SpringBoot 整合 SpringDataJPA

      一个 SpringBoot 项目想要使用 SpringDataJPA 必须先添加 SpringDataJPA 相关依赖,其次,SpringDataJPA 会...

    Demo_Null
  • Spring Cloud Alibaba 系列之 Seata 介绍

      Seata 是一款开源的分布式事务解决方案,致力于在微服务架构下提供高性能和简单易用的分布式事务服务。在 Seata 开源之前,Seata 对应的内部版本在...

    Demo_Null
  • 私信基本功能数据库设计

    上一篇写了基于resin4.0+websocket实现私信功能服务端消息推送文章,趁热打铁,在写一篇关于私信功能的数据库设计文章,非代码篇,希望想对第一次做设计...

    哎_小羊
  • 用反射获取构造方法 Constructor类

    用户2965768
  • laravel-admin select框默认选中的方法

    laravel-admin后台框架的select选择框的默认选中,结合select2的js插件;

    砸漏
  • Laravel Validator 更新时验证记录唯一的小技巧

    这样在新增的时候是没什么问题的,但是在更新的时候就出现了一个问题,就是当我们的title没有发生改变的时候,我们使用unique的时候,会将原来的记录行进行扫描...

    魔王卷子
  • 浅尝辄止MongoDB:GridFS

    版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.n...

    用户1148526
  • 实时数仓|基于Flink1.11的SQL构建实时数仓探索实践

    实时数仓主要是为了解决传统数仓数据时效性低的问题,实时数仓通常会用在实时的OLAP分析、实时的数据看板、业务指标实时监控等场景。虽然关于实时数仓的架构及技术选型...

    Spark学习技巧
  • 一道Postgresql递归树题

    可能很多IT朋友都很急不可耐想知道答案哈哈?,答案或许重要或许也不重要,首先您得有一个思考的过程,一开始我的思考过程是这样的:

    上帝

扫码关注云+社区

领取腾讯云代金券