2015-12-29 38 views
-1

與此查詢JDBC:如何在預處理語句中執行函數?

INSERT INTO `schema`.`table` (`col1`, `col2`) 
    VALUES ('value1', unhex(sha2("value2", 256))); 

如何準備語句與這些功能產生一個值的JDBC驅動程序?

preparedStatement = connect.prepareStatement("insert into schema.table values (?, ?)"); 
+0

嘗試用綁定變量(問號)替換原始SQL中的值('value1' /'value2');它應該工作:'VALUES(?,unhex(sha2(?,256)))' –

+0

這些是你想要調用的**數據庫**函數,對嗎? – Jan

+0

@Jan是的,他們是db sql功能 – user3290180

回答

3

使用以下格式來完成這項工作。

preparedStatement = connect.prepareStatement("insert into schema.table values (?, unhex(sha2(?,256)))"); 

preparedStatement.setString(1, "value1"); 
preparedStatement.setString(2, "value2"); 
1

試試這個

preparedStatement = connect.prepareStatement("insert into schema.table values (?, unhex(sha2(?, 256)))");