ホームページ  >  記事  >  データベース  >  Java と MySQL の間のデータ型のマッピングと変換

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

WBOY
WBOYオリジナル
2023-06-10 08:07:452254ブラウズ

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

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

#StringVARCHARintINTlongBIGINTdoubleDOUBLEfloat FLOATbooleanTINYINTDateDATE時間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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。