sql >> Databáze >  >> RDS >> Mysql

Jak mohu získat autoinkrementované id, když vložím záznam do tabulky přes jdbctemplate

Zkontrolujte tuto referenci. Můžete použít jdbcTemplate.update jako:

UPRAVIT Podle požadavku byly přidány importy

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;

import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.jdbc.core.PreparedStatementCreator;
import org.springframework.jdbc.support.GeneratedKeyHolder;
import org.springframework.jdbc.support.KeyHolder;

následující je použití kódu:

final String INSERT_SQL = "insert into my_test (name) values(?)";
final String name = "Rob";
KeyHolder keyHolder = new GeneratedKeyHolder();
jdbcTemplate.update(
    new PreparedStatementCreator() {
        public PreparedStatement createPreparedStatement(Connection connection) throws SQLException {
            PreparedStatement ps =
                connection.prepareStatement(INSERT_SQL, new String[] {"id"});
            ps.setString(1, name);
            return ps;
        }
    },
    keyHolder);
// keyHolder.getKey() now contains the generated key


  1. zjednodušeně:mysqli num_rows nefunguje

  2. Vyrovnávání zátěže s ProxySQL pro Percona XtraDB Cluster

  3. customer.pk_name spojení transakcí.fk_name vs. customer.pk_id [sériové] spojení transakcí.fk_id [integer]

  4. Začínáme s Oracle SQL Developer na MacOSX