ホームページ >データベース >mysql チュートリアル >Java 日付をデータベースに挿入するときに構文エラーを回避するにはどうすればよいですか?

Java 日付をデータベースに挿入するときに構文エラーを回避するにはどうすればよいですか?

DDD
DDDオリジナル
2025-01-06 11:23:43339ブラウズ

How to Avoid Syntax Errors When Inserting Java Dates into a Database?

データベースへの Java 日付の挿入

java.util.Date フィールドを持つレコードをデータベースに挿入しようとすると、間違った構文エラーが発生しました。この問題は、Date オブジェクトを java.sql.Date や java.sql.Timestamp などの適切な SQL データ型に変換することで解決できます。

java.util.Date オブジェクトを挿入するには、次の手順を実行します。推奨:

  1. java.util.Date オブジェクトを SQL 互換データに変換するtype:
java.util.Date myDate = new java.util.Date("01/01/2009");
java.sql.Date sqlDate = new java.sql.Date(myDate.getTime());
  1. java.sql.PreparedStatement を使用してデータを挿入します:
sb.append("INSERT INTO USERS");
sb.append("(USER_ID, FIRST_NAME, LAST_NAME, SEX, DATE) ");
sb.append("VALUES (?, ?, ?, ?, ?)");

Connection conn = ...;
PreparedStatement stmt = conn.prepareStatement(sb.toString());

stmt.setString(1, userId);
stmt.setString(2, myUser.GetFirstname());
stmt.setString(3, myUser.GetLastname());
stmt.setString(4, myUser.GetSex());
stmt.setDate(5, sqlDate);

stmt.executeUpdate();

java.sql.PreparedStatement とDate フィールドに SQL 互換のデータ型を使用すると、問題が発生することなくレコードをデータベースに正常に挿入できます。構文エラー。さらに、PreparedStatement を使用すると、文字列が適切にエスケープされ、潜在的なセキュリティ脆弱性が防止されます。

以上がJava 日付をデータベースに挿入するときに構文エラーを回避するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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