在后台数据库调用PostgreSQL函数如下:
SELECT * FROM prepend('abcdefg');
前端Java客户端调用PostgreSQL函数如下:
"SELECT * FROM prepend('?');"
会不会造成SQL注入(inject)?有没有更好的办法?
编辑
不想使用 PreparedStatement。 Java 8 Streams 怎么样?
最佳答案
使用 java.sql.PreparedStatement
是最好的选择。这是在您的案例中使用 PreparedStatement
的方法,
String input = "abcdefg";
PreparedStatement ps = connection.prepareStatement("SELECT * FROM prepend(?)");
ps.setString(1, String.format("%s", input));
关于Java SQL注入(inject),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52688618/