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为例。其他请各自根据需要查询。

  • 相关阅读:
    hdu2588-GCD-(欧拉函数+分解因子)
    欧拉定理及其扩展定理公式
    hdu2973-YAPTCHA-(欧拉筛+威尔逊定理+前缀和)
    hdu5391-Zball in Tina Town-威尔逊定理(假证明)
    deleted
    deleted
    deleted
    deleted
    deleted
    deleted
  • 原文地址:https://www.cnblogs.com/smallfa/p/10148078.html
Copyright © 2011-2022 走看看