zoukankan      html  css  js  c++  java
  • Mybatis插入数据后返回主键id

    有时候使用mybatis插入数据后,需要用到记录在数据库中的自增id,可以利用keyProperty来返回,赋值给实体类中的指定字段。

    单条记录插入并返回

    First, if your database supports auto-generated key fields (e.g. MySQL and SQL Server), then you can simply set useGeneratedKeys="true" and set the keyProperty to the target property and you're done. For example, if the Authortable above had used an auto-generated column type for the id, the statement would be modified as follows。

     
    <insert id="insertAuthor" useGeneratedKeys="true" keyProperty="id">  
      insert into Author (username,password,email,bio)  
      values (#{username},#{password},#{email},#{bio})  
    </insert> 
    

      

    添加useGeneratedKeys="true" 以及keyProperty="id"即可。id为实体类中的字段名称

    多条记录插入并返回


    If your database also supports multi-row insert, you can pass a list or an array of Authors and retrieve the auto-generated keys.

    <insert id="insertAuthor" useGeneratedKeys="true" keyProperty="id">  
      insert into Author (username, password, email, bio) values  
      <foreach item="item" collection="list" separator=",">  
        (#{item.username}, #{item.password}, #{item.email}, #{item.bio})  
      </foreach>  
    </insert>  
    

      

    坑:要注意,多条记录时,有可能会出现id没有返回的情况。检查以下几点:

    1、Mybatis版本3.3.1及其以上。

    2、在Dao中不能使用@param注解。

    3、Mapper.xml中使用list变量接受Dao中的集合。

  • 相关阅读:
    javaScript:制作随机验证码
    XSL简明教程
    javascript判断用户使用的浏览器
    jswindow对象的方法和属性资料
    VBscript操作文件
    终于找到组织了...
    公司网站的物流费用设计
    配置live Writer来发blog
    IIS必备的2个插件
    全国默哀 网站首页都要变成灰色的简单解决办法
  • 原文地址:https://www.cnblogs.com/z941030/p/9223393.html
Copyright © 2011-2022 走看看