Czy nie zmienilibyście po prostu:
numero = stmt.executeUpdate(query);
do:
numero = stmt.executeUpdate(query, Statement.RETURN_GENERATED_KEYS);
Zapoznaj się z dokumentacją JDBC Statement
interfejs.
Aktualizacja :Najwyraźniej jest dużo zamieszania co do tej odpowiedzi, ale domyślam się, że ludzie, którzy są zdezorientowani, nie czytają jej w kontekście zadanego pytania. Jeśli weźmiesz kod, który podał OP w swoim pytaniu i podmienisz pojedynczą linię (linia 6), którą sugeruję, wszystko będzie działać. numero
zmienna jest całkowicie nieistotna, a jej wartość nigdy nie jest odczytywana po jej ustawieniu.