JavaMySQL选择二进制文件的位置
我在mysql数据库中有一个作为二进制(16)存储的MD5哈希,我在应用程序中收到一个作为字节[]的哈希 如何使用二进制数据进行查询JavaMySQL选择二进制文件的位置,java,mysql,select,hash,where,Java,Mysql,Select,Hash,Where,我在mysql数据库中有一个作为二进制(16)存储的MD5哈希,我在应用程序中收到一个作为字节[]的哈希 如何使用二进制数据进行查询 private boolean isDuplicated(byte hash[]) throws SQLException { ResulSet st = stmt.executeQuery("SELECT * from IDENT where hash = "+ "???"); return st.next(); } 感谢@Mu
private boolean isDuplicated(byte hash[]) throws SQLException {
ResulSet st = stmt.executeQuery("SELECT * from IDENT where hash = "+ "???");
return st.next();
}
感谢@Mureinik和@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();
}
您是否使用
setBytes
尝试了PreparedStatement
?您应该使用PreparedStatement,让JDBC驱动程序为您绑定变量。您的SQL注入方式已经成熟。