zoukankan      html  css  js  c++  java
  • Mybatis框架(6)---Mybatis插入数据后获取自增主键

    Mybatis插入数据后获取自增主键

        首先理解这就话的意思:就是在往数据库表中插入一条数据的同时,返回该条数据在数据库表中的自增主键值。

        有什么用呢,举个例子:

        你编辑一条新闻,同时需要给该新闻打上标签(可以一个或者多个:比如:女性,爱,钱等等),然后存储到数据库中。怎么存,肯定涉及到三张表,新闻表,标签表,新闻标签id关联表

    新闻表插入数据简单,标签表插入数据简单。那新闻标签表呢,如何关联,那是不是需要新闻表和标签表插入数据的时候,返回它们的主键Id然后再存储到新闻标签表中。

       这种场景还是蛮常见的。下面主要针对的MySQL数据库进行操作。

    1.TLivePressOriginDOMapper.xml插入语句添加配置

     <!-- 主要讲新添加的两个属性:useGeneratedKeys和keyProperty-->
      <!--useGeneratedKeys="true" 默认值是:false。 含义:设置是否使用JDBC的getGenereatedKeys方法获取主键并赋值到keyProperty设置的领域模型属性中。-->
      <!--keyProperty="autoId" 就很好理解了,就是把主键值赋值给TLivePressOriginDO实体的autoId属性中-->
      <insert id="insertSelective" parameterType="com.jincou.dlo.TLivePressOriginDO" useGeneratedKeys="true" keyProperty="autoId">

    2.查看TLivePressOriginDO实体

    有个属性autoId

    3.在看TLivePressOriginDOMapper

    4、在看实际效果

        我们看到这里数据的主键值是10,是通过赋值给bean实体中的autoId属性的。

    那到底数据库存储该条数据的主键是不是10呢?

    5、看数据库该条记录

         数据库中该条数据的自增主键Id果然是10,那就说明达到了插入数据的同时获得了该条数据在数据库表中的主键值的目的。

    注意:以上操作只针对MySQL数据库哦。

     想太多,做太少,中间的落差就是烦恼。想没有烦恼,要么别想,要么多做。中校【10】 

  • 相关阅读:
    C++开发人脸性别识别教程(12)——加入性别识别功能
    Java数组实现循环队列的两种方法
    开源 免费 java CMS
    Android必知必会-Stetho调试工具
    初中级DBA必需要学会的9个Linux网络命令,看看你有哪些还没用过
    fputs与fgets
    一个使用命令行编译Android项目的工具类
    SpringMVC @RequestBody接收Json对象字符串 demo
    spring 事件(Application Event)
    spring Aop的一个demo
  • 原文地址:https://www.cnblogs.com/qdhxhz/p/9339139.html
Copyright © 2011-2022 走看看