Sepertinya Anda perlu mengatur useAffectedRows
di properti driver secara manual.
Saya mendapat solusinya setelah beberapa googling. Anda dapat merujuk Bug MySql ini untuk INSERT ON DUPLICATE KEY UPDATE kembalikan 0 jika tidak ada perubahan pada JDBC ExecuteUpdate
Juga dalam diskusi disebutkan mereka merilisnya di 5.1.7
EDIT Untuk Pertanyaan Kedua Anda:
gunakanAffectedRows :
Bawaan:salah
Sejak versi:5.1.7
Referensi gunakanAffectedRows di JDBC Connector-j