java返回生成的\u键是否影响性能?

mpgws1up  于 2021-06-20  发布在  Mysql
关注(0)|答案(0)|浏览(139)

我正在使用 Statement.RETURN_GENERATED_KEYS 为了解决以下问题:在数据库中插入一行,然后通过执行一个新的select来检索它的id之后,有时找不到该行—不知何故,该信息没有到达数据库。
我猜这个标志确保在执行下一行代码之前将数据提交到数据库。如果是:
是吗 Statement.RETURN_GENERATED_KEYS 影响绩效?让没有这个标志的执行速度更快?
标志如何影响sql语句处理?
[编辑]-我使用mysql server作为db,c3p0作为连接池实现,mysql connector java作为驱动程序。为了一窥我所指的上下文,下面是一段代码片段:

StringBuilder insertedId = new StringBuilder("");
    DAOSession session = DAOSession.getInstance();
    Connection conn = session.aquireTransaction();
    Statement stm = null;
    try {
        stm = conn.createStatement();
        stm.executeUpdate(sql, Statement.RETURN_GENERATED_KEYS);
    } catch (SQLException e) {
        e.printStackTrace();
    } finally {
        if (stm != null) {
            // Find and return the generated key
            try (ResultSet generatedKeys = stm.getGeneratedKeys()) {
                if (generatedKeys.next()) {
                    insertedId.setLength(0);
                    insertedId.append(generatedKeys.getString(1));
                } else {
                    // Log this scenario
                }
            }

            stm.close();
        }

        conn.close();
    }

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题