Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Wstawianie danych do wielu tabel za pomocą spring jdbcTemplate

Możesz użyć instrukcji wielościeżkowych i LAST_INSERT_ID() Funkcja MySql:

String sql = "insert into role(name, code) values(?,?);" +
    "insert into person(first_name, last_name, description, role_id) values(?,?,?,(SELECT LAST_INSERT_ID()));";

int[] arr = template.batchUpdate(sql, new BatchPreparedStatementSetter() {

    @Override
    public void setValues(PreparedStatement ps, int i) throws SQLException {
        Role role = roles.get(i);
        Person person = list.get(i);
        ps.setObject(1, role.getName());
        ps.setObject(2, role.getCode();
        ps.setObject(3, person.getFirstName());
        ps.setObject(4, person.getLastName());
        ps.setObject(5, person.getDescription());
    }

    @Override
    public int getBatchSize() {
        return list.size()
    }
});



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Docker-compose sprawdza, czy połączenie mysql jest gotowe

  2. MySQL - indeks wielokolumnowy

  3. Tablica w Mysql GDZIE LUBISZ?

  4. Błąd podczas instalacji mysql2:Nie udało się zbudować natywnego rozszerzenia gem

  5. Jak wypełnić dziury w polach autoinkrementacji?