我正在运行一个加载到ResultSet中的查询。当我从ResultSet创建对象时,我使用ResultSet的各种get方法。ResultSet是否将所有值存储为String,而不管它们在DB中定义了什么?因此,如果查询的结果是数字1,我可以调用
rs.getString("result");
AND
rs.getInt("result");还是ResultSet的get方法必须对应正确的类型?
发布于 2014-04-25 20:37:14
这里重要的是将接收返回值的变量的类型。
例如,可以在返回int值的列中使用rs.getString(),因为数字是有效的字符串值("1234“、"23,45”等)。
但是不能在具有字符串值的列中使用rs.getInt(),因为返回的值对int变量无效。
MySQL帮助有关于此的更多信息:
通常,任何MySQL数据类型都可以转换为java.lang.String,任何数值类型都可以转换为任何Java数值类型,尽管可能会出现舍入、溢出或精度下降的情况。 这些MySQL数据类型总是可以转换成这些类型:
发布于 2014-04-25 20:30:40
是的,是的。您可以作为一个MySQL从java.lang.String获得一个INT,并且类型具有映射。
https://dev.mysql.com/doc/refman/5.0/es/connector-j-reference-type-conversions.html
希望这能有所帮助
https://stackoverflow.com/questions/23302401
复制相似问题