La especificación JDBC aparentemente dicta que los controladores tienen executeUpdate() devuelve el número de filas encontradas por la instrucción UPDATE, no por el número de filas realmente afectadas .
Para que MySQL Connector/J devuelva el número de filas realmente cambiadas puede agregar la propiedad useAffectedRows=true a la URL de su conexión, aunque documentación
advierte que es