Heim > Datenbank > MySQL-Tutorial > Wie füge ich java.util.Date-Felder richtig in eine Datenbank ein?

Wie füge ich java.util.Date-Felder richtig in eine Datenbank ein?

DDD
Freigeben: 2025-01-06 10:59:42
Original
742 Leute haben es durchsucht

How to Properly Insert java.util.Date Fields into a Database?

Java.util.Date-Felder in eine Datenbank einfügen

Frage:

Beim Versuch tritt ein Fehler auf Fügen Sie einen Datensatz mit einem java.util.Date-Feld in eine Datenbank ein. Der Fehler besagt: „Die Syntax der Zeichenfolgendarstellung eines Datums-/Uhrzeitwerts ist falsch.“ Wie kann ich dieses Problem lösen?

Lösung:

Um ein java.util.Date-Feld in eine Datenbank einzufügen, sollten Sie zunächst die Verwendung einer objektrelationalen Zuordnung ( ORM)-Lösung wie Hibernate zum Abstrahieren von SQL-Abfragen. Wenn dies jedoch nicht möglich ist, können Sie die folgenden Schritte ausführen:

  1. Verwenden Sie ein java.sql.PreparedStatement, um die SQL-Abfrage auszuführen.
  2. Konvertieren Sie das java.util.Date Instanz zu einem java.sql.Date- oder java.sql.Timestamp-Objekt.
  3. Verwenden Sie die setDate()-Methode des PreparedStatement, um den Wert des Datumsfelds mit dem konvertierten Objekt festzulegen.

Beispiel:

java.util.Date myDate = new java.util.Date("10/10/2009");
java.sql.Date sqlDate = new java.sql.Date(myDate.getTime());

Connection conn = ...; // Obtain the database connection

String sql = "INSERT INTO USERS (USER_ID, FIRST_NAME, LAST_NAME, SEX, DATE) VALUES (?, ?, ?, ?, ?);";
PreparedStatement stmt = conn.prepareStatement(sql);

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(); // Execute the SQL query
Nach dem Login kopieren

Dieser Ansatz wird automatisch maskiert Zeichenfolgen und verhindert SQL-Injection-Schwachstellen.

Das obige ist der detaillierte Inhalt vonWie füge ich java.util.Date-Felder richtig in eine Datenbank ein?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage