zoukankan      html  css  js  c++  java
  • MyBatis+MySQL 返回插入的主键ID

    需求:使用MyBatis往MySQL数据库中插入一条记录后,需要返回该条记录的自增主键值。

    方法:在mapper中指定keyProperty属性,示例如下:

    useGeneratedKeys="true" keyProperty="userId"  这两句话加进去要传的值   userId 是要返回的id
    <insert id="insertAndGetId" useGeneratedKeys="true" keyProperty="userId" parameterType="com.chenzhou.mybatis.User">  
        insert into user(userName,password,comment)  
        values(#{userName},#{password},#{comment})  
    </insert>
        User user = new User();  
        user.setUserName("chenzhou");  
        user.setPassword("xxxx");  
        user.setComment("测试插入数据返回主键功能");  
          
        System.out.println("插入前主键为:"+user.getUserId());  
        userDao.insertAndGetId(user);//插入操作  
        System.out.println("插入后主键为:"+user.getUserId());  

    ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

    mybatis插入数据到oracle   主键不自增的

    --查询所有的序列
    select
    * from all_sequences

    常用这个before的,不过也有after

    如果是用after 的话,先运行插入,然后在去查询出id

    为啥不推荐用after呢,如果批量插入的话,它只能拿到最后当前的id,这样就相对来说不那么好用了

    ======================================================================================================

    mybatis参数

     

    如果email为空的话,就会报错

     查询新方法:感觉好流弊

     

  • 相关阅读:
    [Axiom 3D]1.初识Axiom
    [.Net]System.OutOfMemoryException异常
    一个恶心的需求
    度分秒的正则表达式
    CSLA.Net学习(3)INotifyPropertyChanged和IDataErrorInfo
    [转载]高斯正反算
    分带?不分带?
    chm帮助文档制作及C#调用
    OleDb未指定错误
    [学习笔记]工厂方法用于数据库开发
  • 原文地址:https://www.cnblogs.com/xuerong/p/5056313.html
Copyright © 2011-2022 走看看