セットアップは正常に見えます。これは純粋に権限の問題のようです。
mysqlでそのユーザーアクセスを許可する必要があります。 Javaはローカルホストに接続しますが、tcp / ipを使用して接続しますが、mysqlではローカルホストと127.0.0.1の意味が異なります。このSQLを発行することでうまくいくはずです。
grant all on twitter.* to 'root'@'127.0.0.1' identified by 'mypwd';
これは、Javaが「localhost」を127.0.0.1に解決することを前提としています。それでも機能しない場合は、接続文字列を「jdbc:mysql://127.0.0.1:3306/twitter」に変更してみてください。
今お持ちのように、プレーンテキストのパスワード。