【问题标题】:Jdbc check type compatiblityjdbc 检查类型兼容性
【发布时间】:2011-08-22 21:59:34
【问题描述】:

有什么方法可以预先检查 java 类型是否与 sql.Types 兼容?

我可以输入以下所有内容:

if (BIGINT||TINYINT) try BigInteger.parse(myvalue)if (TIME||DATE||TIMESTAMP) try new Date(Long.parse(myvalue))

这会产生大量代码。他们是某种通用的预检查方式吗?

编辑:我说的是插入,所以我想做一些预检查,以避免插入时出现 sql 异常

【问题讨论】:

  • 为什么不使用ResultSet#getObject() 和/或PreparedStatement#setObject()?或者,更好的是,像 Hibernate、JPA 之类的 ORM?

标签: sql database types jdbc spring-jdbc


【解决方案1】:

如果您使用 JDBC,只需使用 ResultSet.getObject()。它将返回合适的类型(让 JDBC 驱动程序完成繁重的工作)。

当您知道您对列的期望时,仅使用类型化的 getter,例如 getInt()

【讨论】:

  • 我说的是插入,所以我想做一些预检查,以避免插入时出现sql异常
【解决方案2】:

也许我不明白你的问题。你的意思是instanceof

ie. if (myObject instanceof java.sql.Types) {
        ...
    }

【讨论】:

    猜你喜欢
    • 2018-07-29
    • 2020-01-21
    • 1970-01-01
    • 2021-12-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-02-08
    相关资源
    最近更新 更多