如果我通过 jdbc 从 MySQL 表中查询mediumint
列,我会在 ResultSet 对象中返回什么类型?
或者那会是一个错误?
(我知道 JDBC 的 Types.java 没有 MEDIUMINT)。
您几乎可以使用任何 Java 类型(请看这里),但最好的方法是使用 Integer,因为 Short
它是缩写MEDIUMINT
并返回结果,您应该使用该方法rs.getInteger("COLUMNNAME")
不是错误。ResultSetMetaData.getColumnType()返回的列类型为4,INTEGER。如果你调用 ResultSet.getObject(),你会得到一个 java.lang.Integer。调用 getInt() 或 getLong() 都可以正常工作。
JDBC 驱动程序返回的类型,如果不表示为 JDBC 规范本身的一部分(附录 B 中臭名昭著的表),将是可以表示 MySQL 类型的全部值范围的最小 Java 类型。