public T insert()

in src/main/java/org/apache/commons/dbutils/QueryRunner.java [382:418]


    public <T> T insert(final Connection conn, final String sql, final ResultSetHandler<T> rsh, final Object... params) throws SQLException {
        if (conn == null) {
            throw new SQLException("Null connection");
        }

        if (sql == null) {
            throw new SQLException("Null SQL statement");
        }

        if (rsh == null) {
            throw new SQLException("Null ResultSetHandler");
        }

        Statement stmt = null;
        T generatedKeys = null;

        try {
            if (params != null && params.length > 0) {
                final PreparedStatement ps = conn.prepareStatement(sql, Statement.RETURN_GENERATED_KEYS);
                stmt = ps;
                this.fillStatement(ps, params);
                ps.executeUpdate();
            } else {
                stmt = conn.createStatement();
                stmt.executeUpdate(sql, Statement.RETURN_GENERATED_KEYS);
            }
            try (ResultSet resultSet = stmt.getGeneratedKeys()) {
                generatedKeys = rsh.handle(resultSet);
            }
        } catch (final SQLException e) {
            rethrow(e, sql, params);
        } finally {
            close(stmt);
        }

        return generatedKeys;
    }