データベースで CRUD 操作を行っていますが、データベースでデータ型を取得するための直接的な方法が見つかりませんでしたchar
。
結果セットの を使用して出力を達成しましたが、 String と Character は2つの異なるデータ型であるため、getString(String column_name)
のようなメソッドが存在しないのはなぜでしょうか。getChar(String column_name)
MySQL が見ているように、それStrings
は単一の文字の型がないためです。確かに、CHAR
またはVARCHAR
を最大 1 のサイズに設定できますが、これは特殊なケースであり、通常、機能が既に存在する特殊なケースのメソッドを作成する必要はありません。
次のようにchar
、結果の からJava を抽出するだけです。String
getString(column_name).charAt(0)
リンクを参照し、表 3-1 を参照すると、存在しない理由がよくわかりますgetChar(String column_name)
。
概要: char のマッピングは String です。getString(String column_name)
したがって、charデータ型には存在します
これは、MySQL のCharが実際には単一の char 値を意味するのではなく、実際には文字の配列を意味するためです。Java では、文字の配列は文字列として表されるため、同じメソッドになります。
多くの場合、データベースにはすべての文字列を表す型が 1 つしかありません。
char は特殊なケースにすぎません: 1 文字の文字列なので、この型を追加してもあまり役に立ちません。
CHAR のような名前に惑わされないでください。:)