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是一款流行的Java持久层框架,今天我们将讨论MyBatis insert操作插入数据之后返回插入记录的id的知识点。 首先,MyBatis提供了一个机制来获取插入数据...
在 MyBatis 框架中,当我们执行一个插入(insert)...5. 确保数据库的主键 ID 是自增的,这是返回插入 ID 的前提条件。 了解并正确使用这些知识点,可以帮助我们在 MyBatis 中更高效地处理插入数据并获取新记录的 ID。
在 MySQL 中,MyBatis 提供了一个简单的配置来返回插入的主键 ID。我们可以在 insert 语句中添加 `keyProperty` 和 `useGeneratedKeys` 两个属性。其中,`keyProperty` 表示返回的 ID 要保存到对象的那个属性中,而 ...
获取插入数据的ID,收集起来,以方便使用!
在Python3中操作MySQL数据库并插入一条数据,然后获取并返回这条数据的主键id是数据库编程中常见的需求。这一过程可以分为几个关键步骤:数据库连接、执行插入操作、获取主键id以及事务提交。下面详细说明每个步骤...
在Oracle中,如果需要获取刚插入的数据的ID值,可以使用`CURRVAL`属性,它返回最近一次调用`NEXTVAL`所生成的值。例如,在插入数据后立即查询`seq_atable.CURRVAL`: ```sql SELECT seq_atable.CURRVAL FROM dual; `...
在处理大量数据插入时,传统的逐条插入方式可能会导致性能低下,此时我们可以利用扩展方法来实现批量插入(BulkInsert),以提高数据插入效率。本文将详细讲解如何在EF中使用BulkInsert扩展方法,以及其背后的原理和...
因此,`user.getUserId()`会返回插入后的主键ID。 通过这种方式,我们可以轻松地在插入数据后获取到MySQL生成的自增主键。需要注意的是,这种方法依赖于数据库支持自增主键,并且在某些数据库中(如Oracle),可能...
<insert id="insert"> <!-- 具体 SQL 语句 --> </insert> ``` 这种情况下,XML 文件中的自定义 `insert` 方法会覆盖 MP 的通用方法,使得 MP 的自动处理主键返回的功能失效。为了解决这个问题,我们需要检查并删除...
Spring的JdbcTemplate插入操作返回主键ID的方法 - - ITeye技术网站
总的来说,Mybatis通过`useGeneratedKeys`和`keyProperty`属性使得我们能够在插入数据后方便地获取自动生成的主键ID,无论是直接操作Java对象还是使用参数`Map`,都能确保主键值的正确返回。这种方式极大地简化了...
为了获取这个值,我们需要在插入语句中使用`LAST_INSERT_ID()`函数,并在`Statement`对象上设置`RETURN_GENERATED_KEYS`属性: ```java try (Connection conn = DriverManager.getConnection(url, user, password))...
给定的存储过程名为`spAddadmin`,用于向`admin_info`表中插入一条新的管理员记录,并返回该记录的自动生成ID。下面是具体的步骤: 1. **定义存储过程**:首先,我们需要定义存储过程的基本结构,包括输入参数和...
总结一下,MybatisPlus在插入数据时,通过`insert`方法配合`@TableId`注解或`InsertReturnEntity`对象,可以方便地处理自增主键的获取。这大大简化了开发过程,提高了效率。在实际项目中,根据具体需求选择合适的...
`SCOPE_IDENTITY()`返回的是当前作用域内最后由同一连接插入的行的ID,而`@@IDENTITY`则返回整个数据库中最后插入的行的ID,可能会跨多个表。在这里,我们使用`SCOPE_IDENTITY()`,因为它更安全。 ```csharp int ...
MyBatis 插入返回主键代码实例详解 MyBatis 是一个流行的持久层框架,它提供了多种方式来处理数据库操作。其中,插入数据并返回主键是一个非常常见的操作场景。本文将详细介绍 MyBatis 中插入返回主键代码实例的...
在使用 MyBatis-Plus 的 `insert` 方法时,可能会遇到一些问题,特别是当尝试插入新记录时,可能会遇到“id 值不存在异常”。这个问题通常是由于 MyBatis-Plus 自动为实体类中的 `id` 字段生成默认值,而这个默认值...