Pengaturan Anda terlihat baik-baik saja. Ini tampaknya murni masalah izin.
Anda perlu memberikan akses pengguna itu di mysql. Sementara Java akan terhubung ke localhost, ia akan melakukannya menggunakan tcp/ip - namun di mysql localhost dan 127.0.0.1 memiliki arti yang berbeda. Mengeluarkan SQL ini akan berhasil.
grant all on twitter.* to 'root'@'127.0.0.1' identified by 'mypwd';
Itu mengasumsikan Java menyelesaikan 'localhost' ke 127.0.0.1, jika semuanya masih tidak berfungsi, Anda dapat mencoba mengubah string koneksi Anda menjadi "jdbc:mysql://127.0.0.1:3306/twitter"
Seperti yang Anda miliki sekarang, kata sandi teks biasa.