zoukankan      html  css  js  c++  java
  • mybatis+mysql insert添加数据后返回数据主键id

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

    修改mybatis xml

    <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获取

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

  • 相关阅读:
    NodeJS优缺点
    移动端触摸相关事件touch、tap、swipe
    vscode使用技巧
    js 字符串转数字
    js 导出Excel
    <!--[if IE 9]> <![endif]-->
    js 异步请求
    关于windows串口处理
    mfc 托盘提示信息添加
    微软的麦克风处理示列代码
  • 原文地址:https://www.cnblogs.com/chenziyu/p/9454765.html
Copyright © 2011-2022 走看看