Epi*_*aph 5 java jdbc prepared-statement
我打算用PreparedStatement对象替换重复执行的Statement 对象以提高性能.我正在使用像MySQL函数now()和字符串变量这样的参数.
PreparedStatement我见过的大多数查询都包含常量值(比如10和字符串"New York")作为?查询中使用的参数.我如何使用函数now()和变量作为参数?是否有必要?在查询中使用s而不是实际值?我很困惑.
Mar*_*ing 11
如果你有一个来自用户输入的变量,你必须使用?而不是连接字符串.用户可能会恶意输入字符串,如果将字符串直接放入SQL,它可以运行您不想要的命令.
我意识到这个被过度使用,但它完美地说:

如果你有变量使用'?'
int temp = 75;
PreparedStatement pstmt = con.prepareStatement(
"UPDATE test SET num = ?, due = now() ");
pstmt.setInt(1, temp);
pstmt.executeUpdate():
Run Code Online (Sandbox Code Playgroud)
生成一个sql语句,如下所示:
UPDATE test SET num = 75, due = now();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
14914 次 |
| 最近记录: |