gpt4 book ai didi

java - 如何从带有命名参数的语句构建一个带有填充值的 SQL 字符串?

转载 作者:太空宇宙 更新时间:2023-11-04 14:27:51 24 4
gpt4 key购买 nike

我正在寻找一个实用程序来准备带有命名参数和值的 SQL 语句,但不执行它。我只想要生成的 SQL 语句,其中值替换命名参数,作为 java.lang.String 对象。我在 Spring 或 Apache Commons 中没有找到任何内容。 [我知道如何启用 java.sql.* 的调试日志记录] 因为我正在查询大型机上的数据库实例,所以不允许准备语句;由于某些奇怪的原因,该支持已被禁用。该决定超出了我的控制或影响范围。您知道可以帮助我的实用程序吗?我想如果有必要的话我可以推出自己的实用程序,但我宁愿不这样做。

最佳答案

这就像说您希望看到您的 Java 代码,其中用户的输入硬编码到源代码中。

这太荒谬了,因为您知道用户的输入永远不会与 Java 源代码结合起来。它在运行时与编译的 Java 应用程序结合在一起(可以这么说)。输入数据永远不会合并到源中。

这与准备好的 SQL 语句相同。

在prepare()期间,RDBMS接收文本SQL字符串,并在内部解析它并保留查询的某种“字节码”版本。在此内部表示中,注释了参数占位符,并且在提供值之前查询无法执行。

在execute()期间,RDBMS接收参数值,并将它们与字节码组合。参数永远看不到原始的 SQL 文本!这就是它应该工作的方式。

关于java - 如何从带有命名参数的语句构建一个带有填充值的 SQL 字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26474097/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com