jdbc为啥prepared statement不支持命名参数?

Posted

技术标签:

【中文标题】jdbc为啥prepared statement不支持命名参数?【英文标题】:jdbc why prepared statement does not support named parameters?jdbc为什么prepared statement不支持命名参数? 【发布时间】:2017-10-18 20:47:31 【问题描述】:

例如查询:

select * from Foo where brand=? and color=? and size=?

为什么jdbc不支持以下格式的参数

 :name, ?1, ?5

这将更容易(和可读)识别参数。这背后的原因是什么?

【问题讨论】:

【参考方案1】:

因为该语法不是 SQL 的一部分。 :name 语法是嵌入式 SQL 的一部分,但遗憾的是,JDBC 不是嵌入式 SQL。

【讨论】:

以上是关于jdbc为啥prepared statement不支持命名参数?的主要内容,如果未能解决你的问题,请参考以下文章

JAVA JDBC mySql Prepared statement 更新查询 [重复]

哪种方法在性能方面更好? (关于JDBC中prepared statement中可变参数标记的使用)

错误:[Pivotal][Greenplum JDBC Driver][Greenplum]prepared statement "PS1" 已经存在

Prepared Statement 中的绑定不适用于 Microsoft SQL Server JDBC 驱动程序 sqljdbc4.jar

ExecuteBatch 和 Prepared Statements 的奇怪行为

JDBC之Statement,PreparedStatement,CallableStatement的区别