Java と MySQL の間のデータ型のマッピングと変換

WBOY
リリース: 2023-06-10 08:07:45
オリジナル
2216 人が閲覧しました

Java は高級プログラミング言語であり、MySQL はリレーショナル データベース管理システムです。 Java プログラムでは、データベースとのデータ対話が必要になることが多く、これにはデータ型のマッピングと変換が含まれます。

Java データ型と MySQL データ型のマッピングを次の表に示します。

#String VARCHAR int INT long BIGINT double DOUBLE float FLOAT boolean TINYINT Date DATE 時間 TIME タイムスタンプ DATETIME
Java データ型 MySQL データタイプ
# #ご覧のとおり、Java で一般的に使用されるデータ型は、MySQL で一般的に使用されるデータ型に対応できます。ただし、一部の Java データ型と MySQL データ型の間には、変換が必要な相違点があります。

たとえば、Java の Date 型と MySQL の DATE 型の間の変換です。 Java では、Date 型は日付と時刻を表しますが、MySQL では、DATE 型は日付のみを表し、時刻は表しません。変換するときは、形式の問題に注意する必要があります。

Java コードの Date 型は、SimpleDateFormat 型を使用して文字列にフォーマットでき、その文字列は MySQL に渡されます。

Date d = new Date(); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); String str = sdf.format(d); PreparedStatement ps = conn.prepareStatement("INSERT INTO my_table (id, date) VALUES (?, ?)"); ps.setInt(1, 1); ps.setString(2, str); ps.executeUpdate();
ログイン後にコピー

MySQL から DATE 型のデータを読み取る場合は、対応する書式設定メソッドを使用して Java の Date 型に変換し、プログラムの処理に使用する必要もあります。

もう 1 つの例は、Java のブール型と MySQL の TINYINT 型の間の変換です。 Java では、ブール型は true または false の 2 つの値のみを取ることができますが、MySQL では、TINYINT 型は 0 または 1、またはそれ以上の範囲の整数を格納できます。

Java プログラムでは、MySQL で TINYINT 型のデータを読み込む際に型変換が必要です。

ResultSet rs = stmt.executeQuery("SELECT * FROM my_table"); while (rs.next()) { int id = rs.getInt("id"); boolean value = rs.getInt("value") == 1; ... }
ログイン後にコピー

MySQL データを読み取る場合、getInt メソッドを使用して TINYINT 型を読み取り、それを使用して値が 1 であるかどうかを判断することで、正しいブール型の値を取得できます。

MySQL に書き込む場合は、型変換も必要です。

boolean value = true; PreparedStatement ps = conn.prepareStatement("INSERT INTO my_table (id, value) VALUES (?, ?)"); ps.setInt(1, 1); ps.setInt(2, value ? 1 : 0); ps.executeUpdate();
ログイン後にコピー

MySQLにboolean型の値を書き込む場合はint型に変換する必要があり、trueは1、falseは0に変換されます。

つまり、Java と MySQL の間のデータ型のマッピングと変換は非常に重要であり、プログラムの正確さとパフォーマンスを確保するには、このプロセスを正確に処理することが重要です。 Java 開発ツールと MySQL ツールを使用して開発すると、開発者の効率が向上します。

以上がJava と MySQL の間のデータ型のマッピングと変換の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!