PostgreSQL
 sql >> Teknologi Basis Data >  >> RDS >> PostgreSQL

Mendapatkan kunci yang dibuat secara otomatis dari penyisipan baris di musim semi 3 / PostgreSQL 8.4.9

KeyHolder holder = new GeneratedKeyHolder();

getJdbcTemplate().update(new PreparedStatementCreator() {           

                @Override
                public PreparedStatement createPreparedStatement(Connection connection)
                        throws SQLException {
                    PreparedStatement ps = connection.prepareStatement(sql.toString(),
                        Statement.RETURN_GENERATED_KEYS); 
                    ps.setString(1, person.getUsername());
                    ps.setString(2, person.getPassword());
                    ps.setString(3, person.getEmail());
                    ps.setLong(4, person.getRole().getId());
                    return ps;
                }
            }, holder);

Long newPersonId = holder.getKey().longValue();

Perhatikan bahwa dalam versi Postgres yang lebih baru Anda perlu menggunakan

connection.prepareStatement(sql.toString(), 
    new String[] { "idcompte" /* name of your id column */ })

bukannya

connection.prepareStatement(sql.toString(), 
    Statement.RETURN_GENERATED_KEYS);


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Rails:FATAL - Otentikasi rekan gagal untuk pengguna (PG::Error)

  2. psql:tidak dapat terhubung ke server:Tidak ada file atau direktori seperti itu (Mac OS X)

  3. Nama zona waktu dengan properti yang identik menghasilkan hasil yang berbeda ketika diterapkan pada stempel waktu

  4. Bagaimana Atanh() Bekerja di PostgreSQL

  5. Postgres:Tambahkan batasan jika belum ada