• mybatis+mysql insert添加数据后返回数据主键id


    1.根据useGeneratedKeys获取返回值,部分数据库不支持

    修改mybatis xml

    1
    2
    3
    <insert id="insertUser" useGeneratedKeys="true" keyProperty="id" parameterType="com.entity.user">
        insert into test (name) values (#{name})
     </insert>

      

    useGeneratedKeys="true" :设置是否使用JDBC的getGenereatedKeys方法获取主键并赋值到keyProperty设置的领域模型属性中。(适用于mysql、sqlserver数据库,oracle不能使用,使用selectkey子节点做)

    keyProperty:赋值的对象的属性名称。

    添加完成后,直接根据对象属性取值。

    复制代码
    user u=new user();
    
    u.setName("测试");
    
    System.out.println(u.getId()+"取值前");
    
    int num = this.dao.getSqlSession().insert("insertUser",u);
    
    System.out.println(u.getId()+"取值后");
    复制代码

    2.根据selectkey获取

    1
    2
    3
    4
    5
    6
    <insert id="insertUser"  parameterType="com.entity.user">
         insert into test (name) values (#{name})
          <selectKey keyProperty="id" resultType="java.lang.Integer">
          select LAST_INSERT_ID() as id
          </selectKey>
        </insert>

      

    后台代码不变。

    各个数据库获取方式不一样,本例根据mysql为例。其他请各自根据需要查询。

  • 相关阅读:
    KVM安装配置
    cobbler配置解析
    denyhosts配置详解
    Rsync+sersync实现数据实时同步
    Linux启动提示Kernel panic
    oracle常用的数据字典
    Cachefiled
    from __future__ import division
    Java Map用法
    CCF系列之窗口(201403-2)
  • 原文地址:https://www.cnblogs.com/smallfa/p/10148078.html
Copyright © 2020-2023  润新知