`
haoningabc
  • 浏览: 1475148 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

insert返回插入的id

    博客分类:
  • sql
 
阅读更多
public long insertFetchIdL(String sql)
  throws SQLException
{
  Connection conn = getConnection(true, true);
  if (null != conn)
  {
    PreparedStatement prepareStatement = null;
    ResultSet generatedKeys = null;
    try
    {
      prepareStatement = conn.prepareStatement(sql, 1);
      prepareStatement.execute();
      generatedKeys = prepareStatement.getGeneratedKeys();
      long id = -1L;
      if (generatedKeys.next())
      {
        id = generatedKeys.getLong(1);
      }
      long l1 = id;

      return l1;
    }
    catch (SQLException e)
    {
    }
    catch (Exception e)
    {
    }
    finally
    {
      conn.close();
      try
      {
        if (null != generatedKeys)
        {
          generatedKeys.close();
        }
        if (prepareStatement != null)
        {
          prepareStatement.close();
        }
      }
      catch (SQLException e)
      {
        logger.warn("" + sql, e);
        throw e;
      }
    }
  }

  long t = System.currentTimeMillis();
  try
  {
    SimpleRowSet r = ifi(sql);
    if (logger.isDebugEnabled())
    {
      logger.debug("TakeTime:" + sql + "\t" + (System.currentTimeMillis() - t));
    }
    if (r.next())
    {
      return r.getLong(1);
    }
    return -1L;
  }
  catch (Exception e)
  {
    throw new DBException(e.getMessage(), e);
  }
}
分享到:
评论

相关推荐

    MyBatis insert操作插入数据之后返回插入记录的id

    "MyBatis insert操作插入数据之后返回插入记录的id" MyBatis是一款流行的Java持久层框架,今天我们将讨论MyBatis insert操作插入数据之后返回插入记录的id的知识点。 首先,MyBatis提供了一个机制来获取插入数据...

    mybatis返回插入的id1

    在 MyBatis 框架中,当我们执行一个插入(insert)...5. 确保数据库的主键 ID 是自增的,这是返回插入 ID 的前提条件。 了解并正确使用这些知识点,可以帮助我们在 MyBatis 中更高效地处理插入数据并获取新记录的 ID。

    MyBatis在insert插入操作时返回主键ID的配置(推荐)

    在 MySQL 中,MyBatis 提供了一个简单的配置来返回插入的主键 ID。我们可以在 insert 语句中添加 `keyProperty` 和 `useGeneratedKeys` 两个属性。其中,`keyProperty` 表示返回的 ID 要保存到对象的那个属性中,而 ...

    SQL SERVER获取插入数据的ID

    获取插入数据的ID,收集起来,以方便使用!

    Python3 操作 MySQL 插入一条数据并返回主键 id的实例

    在Python3中操作MySQL数据库并插入一条数据,然后获取并返回这条数据的主键id是数据库编程中常见的需求。这一过程可以分为几个关键步骤:数据库连接、执行插入操作、获取主键id以及事务提交。下面详细说明每个步骤...

    Oracle插入数据时获取自增ID

    在Oracle中,如果需要获取刚插入的数据的ID值,可以使用`CURRVAL`属性,它返回最近一次调用`NEXTVAL`所生成的值。例如,在插入数据后立即查询`seq_atable.CURRVAL`: ```sql SELECT seq_atable.CURRVAL FROM dual; `...

    MyBatis+MySQL 返回插入的主键ID的方法

    因此,`user.getUserId()`会返回插入后的主键ID。 通过这种方式,我们可以轻松地在插入数据后获取到MySQL生成的自增主键。需要注意的是,这种方法依赖于数据库支持自增主键,并且在某些数据库中(如Oracle),可能...

    EF扩展方法BulkInsert(批量添加)

    在处理大量数据插入时,传统的逐条插入方式可能会导致性能低下,此时我们可以利用扩展方法来实现批量插入(BulkInsert),以提高数据插入效率。本文将详细讲解如何在EF中使用BulkInsert扩展方法,以及其背后的原理和...

    详解mybatis plus使用insert没有返回主键的处理

    <insert id="insert"> <!-- 具体 SQL 语句 --> </insert> ``` 这种情况下,XML 文件中的自定义 `insert` 方法会覆盖 MP 的通用方法,使得 MP 的自动处理主键返回的功能失效。为了解决这个问题,我们需要检查并删除...

    Spring的JdbcTemplate插入操作返回主键ID的方法 - - ITeye技术网站.htm

    Spring的JdbcTemplate插入操作返回主键ID的方法 - - ITeye技术网站

    Mybatis返回插入主键id的方法

    总的来说,Mybatis通过`useGeneratedKeys`和`keyProperty`属性使得我们能够在插入数据后方便地获取自动生成的主键ID,无论是直接操作Java对象还是使用参数`Map`,都能确保主键值的正确返回。这种方式极大地简化了...

    jdbc 插入记录并返回自增主键值

    为了获取这个值,我们需要在插入语句中使用`LAST_INSERT_ID()`函数,并在`Statement`对象上设置`RETURN_GENERATED_KEYS`属性: ```java try (Connection conn = DriverManager.getConnection(url, user, password))...

    存储过程添加一条记录并返回ID

    给定的存储过程名为`spAddadmin`,用于向`admin_info`表中插入一条新的管理员记录,并返回该记录的自动生成ID。下面是具体的步骤: 1. **定义存储过程**:首先,我们需要定义存储过程的基本结构,包括输入参数和...

    MybatisPlus中插入数据获取主键值示例代码

    总结一下,MybatisPlus在插入数据时,通过`insert`方法配合`@TableId`注解或`InsertReturnEntity`对象,可以方便地处理自增主键的获取。这大大简化了开发过程,提高了效率。在实际项目中,根据具体需求选择合适的...

    获取插入记录ID(2.0)

    `SCOPE_IDENTITY()`返回的是当前作用域内最后由同一连接插入的行的ID,而`@@IDENTITY`则返回整个数据库中最后插入的行的ID,可能会跨多个表。在这里,我们使用`SCOPE_IDENTITY()`,因为它更安全。 ```csharp int ...

    mybatis insert返回主键代码实例

    MyBatis 插入返回主键代码实例详解 MyBatis 是一个流行的持久层框架,它提供了多种方式来处理数据库操作。其中,插入数据并返回主键是一个非常常见的操作场景。本文将详细介绍 MyBatis 中插入返回主键代码实例的...

    使用mybatis-plus的insert方法遇到的问题及解决方法(添加时id值不存在异常)

    在使用 MyBatis-Plus 的 `insert` 方法时,可能会遇到一些问题,特别是当尝试插入新记录时,可能会遇到“id 值不存在异常”。这个问题通常是由于 MyBatis-Plus 自动为实体类中的 `id` 字段生成默认值,而这个默认值...

Global site tag (gtag.js) - Google Analytics