0

我可以对 Oracle 数据库及其 OJDBC 的所有数据类型(如字符串、整数、双精度..)使用setObject()方法吗?PreparedStatement

可能的重复是这样的:

PreparedStatement 的 setObject() 方法

但我想知道如何将它用于 Oracle 数据库和 OJDBC。有哪些可能的问题?

4

2 回答 2

2

可能的问题是:

  1. 您将类型验证延迟到应用程序执行,并且没有利用类型安全性。所以你会在执行过程中遇到错误,在编译时很容易发现这些错误。
  2. 您正在失去对如何推断类型的控制,这在某些情况下可能会导致奇怪的格式

我的建议是仅在绝对必要时才使用 setObject。

于 2013-12-03T16:21:35.547 回答
1

我遇到的一个问题是在null值的情况下出现的模棱两可。在我的应用程序中,这导致数据库无法正确缓存查询。为了避免这种情况,我必须检查该值是否在这些情况下 null使用。#setNull(index, class)

对于非null值,我没有遇到任何问题。

于 2013-12-03T16:25:27.470 回答