Maison > Article > base de données > Mappage et conversion de types de données entre Java et MySQL
Java est un langage de programmation de haut niveau, tandis que MySQL est un système de gestion de bases de données relationnelles. Dans les programmes Java, l'interaction des données avec la base de données est souvent requise, ce qui implique le mappage et la conversion des types de données.
Le mappage des types de données Java avec les types de données MySQL est visible dans le tableau suivant :
Types de données Java | Types de données MySQL |
---|---|
String | VARCHAR |
int | INT |
long | BIGINT |
double | DOUBLE |
float | FLOAT |
boolean | TINYINT |
Date | DATE |
Heure | HEURE |
Timestamp | DATETIME |
On peut voir que les types de données couramment utilisés en Java peuvent correspondre aux types de données couramment utilisés dans MySQL. Cependant, il existe des différences entre certains types de données Java et les types de données MySQL qui nécessitent une conversion.
Par exemple, conversion entre le type Date en Java et le type DATE dans MySQL. En Java, le type Date représente la date et l'heure, tandis que dans MySQL, le type DATE représente uniquement la date, pas l'heure. Lors de la conversion, vous devez faire attention aux problèmes de formatage.
Le type Date dans le code Java peut être formaté en chaîne à l'aide du type SimpleDateFormat, puis la chaîne est transmise à 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();
Lors de la lecture de données de type DATE à partir de MySQL, vous devez également utiliser la méthode de formatage correspondante pour les convertir en type Date en Java, puis l'utiliser pour le traitement du programme.
Un autre exemple est la conversion entre le type booléen en Java et le type TINYINT dans MySQL. En Java, le type booléen ne peut prendre que deux valeurs, vrai ou faux, tandis qu'en MySQL, le type TINYINT peut stocker 0 ou 1, ou une plus grande plage d'entiers.
Dans un programme Java, lors de la lecture de données de type TINYINT dans MySQL, une conversion de type est requise.
ResultSet rs = stmt.executeQuery("SELECT * FROM my_table"); while (rs.next()) { int id = rs.getInt("id"); boolean value = rs.getInt("value") == 1; ... }
Lors de la lecture de données MySQL, vous pouvez utiliser la méthode getInt pour lire le type TINYINT, puis l'utiliser pour déterminer si la valeur est 1, afin d'obtenir la valeur de type booléen correcte.
Lors de l'écriture sur MySQL, une conversion de type est également requise.
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();
Lors de l'écriture d'une valeur de type booléen dans MySQL, elle doit être convertie en type int, et true est converti en 1 et false est converti en 0.
En bref, le mappage et la conversion des types de données entre Java et MySQL sont très importants, et la gestion précise de ce processus est cruciale pour garantir l'exactitude et les performances du programme. Vous pouvez développer à l'aide des outils de développement Java et des outils MySQL pour améliorer l'efficacité des développeurs.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!