【问题标题】:How to get the char data type from mysql using resultset如何使用结果集从 mysql 获取 char 数据类型
【发布时间】:2013-06-04 06:46:01
【问题描述】:
我一直在对数据库进行CRUD操作,但是我找不到任何直接的方法来获取数据库中的数据类型char。
虽然我使用结果集的getString(String column_name)实现了输出,但我想知道为什么不存在像getChar(String column_name)这样的方法,因为String和Character是两种不同的数据类型。
【问题讨论】:
标签:
java
api
jdbc
resultset
【解决方案1】:
正如 MySQL 所见,都是Strings,因为它没有单个字符的类型。当然,您可以将 CHAR 或 VARCHAR 设置为最大 1 的大小,但这是一种特殊情况,当功能已经存在时,您通常不希望为特殊情况创建方法。
只需从生成的String 中提取 Java char,如下所示:
getString(column_name).charAt(0)
【解决方案2】:
参考link并查看表3-1,你就会明白为什么不存在getChar(String column_name)。
总结: char 映射为 String。所以char数据类型存在getString(String column_name)
【解决方案3】:
这是因为 MySQL 中的 Char 并不真正意味着单个字符值,它实际上意味着一个字符数组。在 java 中,字符数组表示为字符串,因此方法相同。
【解决方案4】:
数据库通常只有一种类型来表示所有字符串。
char 只是一种特殊情况:只有一个字符的字符串,所以添加这种类型并没有真正的用处。
不要被他们的名字所迷惑,比如 CHAR。 :)