Heim > Datenbank > MySQL-Tutorial > Hauptteil

Datentypzuordnung und Konvertierung zwischen Java und MySQL

WBOY
Freigeben: 2023-06-10 08:07:45
Original
2316 Leute haben es durchsucht

Java ist eine höhere Programmiersprache, während MySQL ein relationales Datenbankverwaltungssystem ist. In Java-Programmen ist häufig eine Dateninteraktion mit der Datenbank erforderlich, was die Zuordnung und Konvertierung von Datentypen beinhaltet.

Die Zuordnung von Java-Datentypen zu MySQL-Datentypen ist in der folgenden Tabelle zu sehen:

Java-Datentypen MySQL-Datentypen
String VARCHAR
int INT
long BIGINT
double DOUBLE
float FLOAT
boolean TINYINT
Datum DATUM
Uhrzeit ZEIT
Timestamp DATETIME

Es ist ersichtlich, dass die in Java üblicherweise verwendeten Datentypen den in MySQL häufig verwendeten Datentypen entsprechen können. Es gibt jedoch Unterschiede zwischen einigen Java-Datentypen und MySQL-Datentypen, die eine Konvertierung erfordern.

Zum Beispiel Konvertierung zwischen dem Date-Typ in Java und dem DATE-Typ in MySQL. In Java stellt der Date-Typ Datum und Uhrzeit dar, während in MySQL der DATE-Typ nur das Datum und nicht die Uhrzeit darstellt. Beim Konvertieren müssen Sie auf Formatierungsprobleme achten.

Der Date-Typ im Java-Code kann mithilfe des SimpleDateFormat-Typs in eine Zeichenfolge formatiert werden, und die Zeichenfolge wird dann an MySQL übergeben.

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();
Nach dem Login kopieren

Wenn Sie Daten vom Typ DATE aus MySQL lesen, müssen Sie sie auch mit der entsprechenden Formatierungsmethode in den Typ Date in Java konvertieren und sie dann für die Programmverarbeitung verwenden.

Ein weiteres Beispiel ist die Konvertierung zwischen dem booleschen Typ in Java und dem TINYINT-Typ in MySQL. In Java kann der boolesche Typ nur zwei Werte annehmen, wahr oder falsch, während in MySQL der Typ TINYINT 0 oder 1 oder einen größeren Bereich von Ganzzahlen speichern kann.

In einem Java-Programm ist beim Lesen von TINYINT-Typdaten in MySQL eine Typkonvertierung erforderlich.

ResultSet rs = stmt.executeQuery("SELECT * FROM my_table");
while (rs.next()) {
    int id = rs.getInt("id");
    boolean value = rs.getInt("value") == 1;
    ...
}
Nach dem Login kopieren

Beim Lesen von MySQL-Daten können Sie die getInt-Methode verwenden, um den TINYINT-Typ zu lesen und dann damit zu bestimmen, ob der Wert 1 ist, um den richtigen booleschen Typwert zu erhalten.

Beim Schreiben in MySQL ist auch eine Typkonvertierung erforderlich.

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();
Nach dem Login kopieren

Wenn Sie einen booleschen Typwert in MySQL schreiben, muss er in den Typ int konvertiert werden, und true wird in 1 und false in 0 konvertiert.

Kurz gesagt ist die Datentypzuordnung und -konvertierung zwischen Java und MySQL sehr wichtig, und die genaue Handhabung dieses Prozesses ist entscheidend, um die Korrektheit und Leistung des Programms sicherzustellen. Sie können mit Java-Entwicklungstools und MySQL-Tools entwickeln, um die Entwicklereffizienz zu verbessern.

Das obige ist der detaillierte Inhalt vonDatentypzuordnung und Konvertierung zwischen Java und MySQL. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
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