Le client MySQL réactif exécute les requêtes de manière asynchrone. Donc si vous voulez lire les lignes que vous avez insérées, vous devez le faire dans le callback :
client.query("INSERT INTO mytable('id','name') VALUES ('2','Jimis2')").execute { insert ->
if (insert.succeeded()) {
var rows = insert.result()
var lastInsertId = rows.property(MySQLClient.LAST_INSERTED_ID)
println("Last inserted id is: ${lastInsertId}")
client.query("SELECT * FROM mytable WHERE id=1").execute { select ->
if (select.succeeded()) {
var result = select.result()
println("Got ${result.size()} rows ")
} else {
select.cause().printStackTrace()
}
client.close()
}
} else {
insert.cause().printStackTrace()
client.close()
}
}