sql >> Database >  >> RDS >> Mysql

Gegevens in meerdere tabellen invoegen met spring jdbcTemplate

U kunt multilane-instructies en LAST_INSERT_ID() . gebruiken MySql-functie:

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. Wanneer moeten we NVARCHAR/NCHAR gebruiken in plaats van VARCHAR/CHAR in SQL Server?

  2. Voer meerdere UPDATE's uit in één SQL-query met behulp van PHP

  3. Hoe de volgspaties na de maandnaam in Oracle te verwijderen

  4. hoe maak je een inlogpagina in de Android-app?