U moet executeQuery(String) . niet aanroepen op een PreparedStatement , moet u executeQuery() . aanroepen in plaats van. Dit wordt expliciet niet toegestaan door de JDBC api, maar gaat alleen per ongeluk (vanwege de syntaxisfout) mis met MySQL Connector/J.
Merk op dat uw huidige zoekopdracht het equivalent is van:
select * from matrix where metric_name = ?
Ik zie geen reden waarom je IN . zou gebruiken hier.