jdbc 检查类型兼容性
Posted
技术标签:
【中文标题】jdbc 检查类型兼容性【英文标题】:Jdbc check type compatiblity 【发布时间】: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?
【参考方案1】:
如果您使用 JDBC,只需使用 ResultSet.getObject()。它将返回合适的类型(让 JDBC 驱动程序完成繁重的工作)。
当您知道您对列的期望时,仅使用类型化的 getter,例如 getInt()。
【讨论】:
我说的是插入,所以我想做一些预检查,以避免插入时出现sql异常【参考方案2】:也许我不明白你的问题。你的意思是instanceof
?
ie. if (myObject instanceof java.sql.Types)
...
【讨论】:
以上是关于jdbc 检查类型兼容性的主要内容,如果未能解决你的问题,请参考以下文章