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);
}
}
insert返回插入的id
最新推荐文章于 2022-11-29 10:11:38 发布
本文介绍了一种使用Java通过执行SQL语句实现记录插入并获取自动生成ID的方法。该方法首先建立数据库连接,然后利用PreparedStatement执行SQL语句,并通过getGeneratedKeys()方法获取新插入记录的自增ID。
252

被折叠的 条评论
为什么被折叠?



