Sua configuração parece boa. Isso parece ser puramente um problema de permissões.
Você precisa conceder acesso a esse usuário no mysql. Embora o Java se conecte ao localhost, ele o fará usando tcp/ip - no entanto, no mysql localhost e 127.0.0.1 têm significados diferentes. Emitir este SQL deve fazer o truque.
grant all on twitter.* to 'root'@'127.0.0.1' identified by 'mypwd';
Isso pressupõe que o Java resolva 'localhost' para 127.0.0.1, se as coisas ainda não funcionarem, você pode tentar alterar sua string de conexão para "jdbc:mysql://127.0.0.1:3306/twitter"
Como você tem agora, a senha de texto simples.