zoukankan      html  css  js  c++  java
  • 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为例。其他请各自根据需要查询。

  • 相关阅读:
    Vue日期转化
    javascript数组去重
    javascript数组及类数组详解
    javascript的argument和克隆方法详解
    javascript中对this的理解
    javascript命名空间及对象枚举的理解
    javascript继承模式详解
    javascript的call和apply区别
    javascript原型及原型链详解
    javascript对象及包装类
  • 原文地址:https://www.cnblogs.com/leeego-123/p/11607493.html
Copyright © 2011-2022 走看看