Java JDBC:如何在准备好的语句中执行函数?

Java JDBC:如何在准备好的语句中执行函数?,java,mysql,sql,jdbc,prepared-statement,Java,Mysql,Sql,Jdbc,Prepared Statement,有了这个疑问 INSERT INTO `schema`.`table` (`col1`, `col2`) VALUES ('value1', unhex(sha2("value2", 256))); 如何使用这些函数生成的一个值为jdbc驱动程序准备语句 preparedStatement = connect.prepareStatement("insert into schema.table values (?, ?)"); 试试这个 preparedStatement = c

有了这个疑问

  INSERT INTO `schema`.`table` (`col1`, `col2`) 
  VALUES ('value1', unhex(sha2("value2", 256)));
如何使用这些函数生成的一个值为jdbc驱动程序准备语句

 preparedStatement = connect.prepareStatement("insert into schema.table values (?, ?)");
试试这个

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

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

使用以下格式完成作业

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

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

使用以下格式完成作业

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

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

尝试用绑定变量(问号)替换原始SQL中的值(
value1
/
value2
);它应该可以工作:
VALUES(?,unhex(sha2(?,256))
这些是您想要调用的数据库函数,对吗?@Jan是的,它们是db sql函数用绑定变量(问号)替换原始sql中的值(
value1
/
value2
);它应该可以工作:
值(?,unhex(sha2(?,256))
这些是您想要调用的数据库函数,对吗?@Jan是的,它们是db-sql函数