我一直在做数据库上的CRUD操作,但我找不到任何直接的方法来获取数据库中的数据类型char
。
虽然我使用结果集的getString(String column_name)
实现了输出,但我想知道为什么不存在像getChar(String column_name)
这样的方法,因为字符串和字符是两种不同的数据类型。
正如MySQL所看到的,它都是Strings
,因为它没有单个字符的类型。当然,您可以将CHAR
或VARCHAR
的大小设置为max1,但这是一种特殊情况,您通常不想在功能已经存在的情况下为特殊情况创建方法。
只需从结果String
中提取Java char
,如下:
getString(column_name).charAt(0)
参考链接,看看表3-1,你就会明白为什么没有getChar(String column_name)
了。
Summary: char到String的映射。对于char数据类型
getString(String column_name)
这是因为MySQL中的Char并不意味着单个字符值,它实际上意味着一个字符数组。在java中,字符数组表示为String,因此使用相同的方法。
数据库通常只有一种类型来表示所有字符串。
char只是一种特殊情况:只有一个字符的字符串,所以添加这种类型实际上并没有什么用处。
不要像CHAR那样被它们的名字所迷惑。:)
当表中的数据只有一个字符(CHAR类型)时,我在Java程序中这样使用。
String str=rs.getString("column_name").toString();