SQL中的占位符

时间:2013-11-14 13:05:29

标签: java sql jdbc data-access-layer

我准备了一个sql脚本,它将一些测试数据插入到数据库中,这样你就可以针对它运行单元测试,并有一些单元测试期望,比如会有一些带有一些值的属性,可以通过检查数据来检查查询的有效性

我需要知道的是java数据访问层如何允许您在语句中使用参数,是否允许使用sql server standard的命名参数或使用“?”占位符?

因此,例如,您要执行以下查询

select * from items where ID = @ID

其中@ID是在执行查询之前可以传递给sql命令的参数。

我确信java中有一些内容,但根据数据提供程序,它允许您使用命名参数或仅使用“?”占位符,因此sql应该看起来像

select .. from .. where ID = ?

1 个答案:

答案 0 :(得分:1)

正常的JDBC预准备语句不提供此功能。

您可以使用Spring中的NamedParameterJdbcTemplate或查看以下链接以获取NamedPreparedStatement的示例实现

http://www.javaworld.com/javaworld/jw-04-2007/jw-04-jdbc.html