如何解析用户输入的值的数据类型?

时间:2011-05-09 14:41:48

标签: java jdbc

我想知道是否有办法从用户那里获取输入并找出其数据类型。

例如,我想要的东西如下:

用户输入:5

程序将5解析为int

程序将变量赋值为:int x = 5

另一种情况:

用户输入:Jane

程序将Jane解析为String

程序将变量赋值为:String x = Jane

等等

总体情况是,用户将传递表名和一些条件,获取一些行,进行一些更改,并将这些chanes提交给Oracle。由于我使用的DAO应该适用于任意数量的表,我需要“即时”完成所有操作。希望这是有道理的。我不想过多详细说明,因为解释所有细节可能需要一段时间。

1 个答案:

答案 0 :(得分:0)

您可以让JDBC驱动程序根据数据模型来计算它。将它们视为Object并使用PreparedStatement#setObject()在SQL查询中设置它们。这样您就不需要转换它和/或使用特定的setter。

另一方面,它看起来就像是在开发(重新发明)数据库管理工具。如果这是真的,那么您也可以通过ResultSet#getMetaData()获取每列的Java数据类型,然后例如ResultSetMetaData#getColumnClassName()