我想知道是否有办法从用户那里获取输入并找出其数据类型。
例如,我想要的东西如下:
用户输入:5
程序将5解析为int
程序将变量赋值为:int x = 5
另一种情况:
用户输入:Jane
程序将Jane解析为String
程序将变量赋值为:String x = Jane
等等
总体情况是,用户将传递表名和一些条件,获取一些行,进行一些更改,并将这些chanes提交给Oracle。由于我使用的DAO应该适用于任意数量的表,我需要“即时”完成所有操作。希望这是有道理的。我不想过多详细说明,因为解释所有细节可能需要一段时间。
答案 0 :(得分:0)
您可以让JDBC驱动程序根据数据模型来计算它。将它们视为Object
并使用PreparedStatement#setObject()
在SQL查询中设置它们。这样您就不需要转换它和/或使用特定的setter。
另一方面,它看起来就像是在开发(重新发明)数据库管理工具。如果这是真的,那么您也可以通过ResultSet#getMetaData()
获取每列的Java数据类型,然后例如ResultSetMetaData#getColumnClassName()
。