Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/75.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
jdbc模板中的SQL_Sql_Jdbctemplate - Fatal编程技术网

jdbc模板中的SQL

jdbc模板中的SQL,sql,jdbctemplate,Sql,Jdbctemplate,我已经开始使用Spring JdbcTemplates,我对SQL有一个问题: 在以下代码中: String sql = "SELECT * FROM CUSTOMER WHERE CUST_ID = ?"; Customer customer = (Customer)getJdbcTemplate().queryForObject( sql, new Object[] { custId }, new CustomerRowMapper()); “ID=?”是什么意思

我已经开始使用Spring JdbcTemplates,我对SQL有一个问题:

在以下代码中:

String sql = "SELECT * FROM CUSTOMER WHERE CUST_ID = ?"; 
Customer customer = (Customer)getJdbcTemplate().queryForObject(
            sql, new Object[] { custId }, new CustomerRowMapper());
“ID=?”是什么意思? 我们在这个查询中寻找什么? 这个问题似乎还没有完成


谢谢

问号是一个可替换的SQL参数。第二条语句中的“newobject[]{custId}”参数提供该参数的值。例如,如果“custId”的值是42,那么生成的SQL查询将是“SELECT*fromcustomer,其中custId=42”。您应该使用参数化SQL查询来减少SQL注入攻击的可能性,并促进查询计划的缓存。如果您不熟悉,我建议您阅读它们。

我可以使用JdbcTemplate进行命名参数化查询吗?非常感谢。是的,请查看PreparedStatementCreator和PreparedStatementSetter类。