2017-03-02 1 views
-1

Ich habe einen MD5-Hash als Binärdatei (16) in der MySQL-Datenbank gespeichert, ich erhalte einen Hash in der App als ein Byte [].Java MySQL wählen wo binär

Wie kann ich eine Abfrage mit Binärdaten tun ??

private boolean isDuplicated(byte hash[]) throws SQLException { 
     ResulSet st = stmt.executeQuery("SELECT * from IDENT where hash = "+ "???"); 
     return st.next(); 
} 
+2

Haben Sie mit 'setBytes' ein' PreparedStatement' versucht? – Mureinik

+1

Sie sollten PreparedStatement verwenden und den JDBC-Treiber Variablen für Sie binden lassen. Ihr Weg ist reif für SQL-Injection. – duffymo

Antwort

0

Dank @Mureinik und @duffymo

private int isDuplicate(byte hash[]) throws SQLException { 
    PreparedStatement stament = conn.prepareStatement("SELECT id_report from IDENT where hash = ?"); 
    stament.setBytes(1,hash); 

    ResultSet st = stament.executeQuery(); 
    return st.next(); 
}