Outils recommandés
Outil de Conversion SQL DDL vers Entité Java
Convertit les déclarations SQL DDL en classes d'entité Java avec support des annotations JPA, Lombok et validation
Mappage des Types de Données
Types de Chaîne
- VARCHAR, CHAR, TEXT → String
- LONGTEXT, MEDIUMTEXT → String
- ENUM → String
Types Numériques
- INT, INTEGER → Integer
- BIGINT → Long
- SMALLINT → Short
- TINYINT → Byte
- DECIMAL, NUMERIC → BigDecimal
- FLOAT, DOUBLE → Double
Types de Temps
- DATETIME, TIMESTAMP → LocalDateTime
- DATE → LocalDate
- TIME → LocalTime
Autres Types
- BOOLEAN, BOOL → Boolean
- BLOB, BINARY → byte[]
- JSON → String
Convention de Nommage
user_name → userNameaccess_date → accessDateuser_name → user_nameaccess_date → access_dateMappage des Types de Temps
DATETIME → LocalDateTimeDATE → LocalDateTIME → LocalTimeDATETIME → StringDATE → StringTIME → StringApercu de l'outil : Outil de Conversion SQL DDL vers Entité Java
Dans le développement Java, en particulier lors de l'utilisation de Spring Boot et des frameworks JPA, il est souvent nécessaire de créer des classes d'entité basées sur les structures de tables de base de données. Écrire manuellement ces classes d'entité est non seulement chronophage mais aussi sujet aux erreurs. Cet outil convertit automatiquement les instructions SQL DDL en classes d'entité Java standard, améliorant considérablement l'efficacité de développement.
Qu'est-ce que Outil de Conversion SQL DDL vers Entité Java ?
Outil de Conversion SQL DDL vers Entité Java convertit SQL DDL en Java entity et génère un résultat prêt à l'emploi.
Comment l'utiliser
- Collez le contenu SQL DDL ou saisissez des paramètres.
- Choisissez Java entity en sortie et ajustez les options.
- Vérifiez le résultat puis copiez ou téléchargez.
Cas d'usage courants
- Migration de format SQL DDL↔Java entity
- Utiliser des données SQL DDL dans des workflows Java entity ou la génération de code
- Valider la conversion par rapport aux spécifications
❓ FAQ
Q1 : Pourquoi le résultat est incorrect ?
R : Vérifiez le format d'entrée et les options, puis essayez l'exemple s'il existe.
Q2 : Et si l'entrée est très grande ?
R : Découpez les données en plus petits blocs pour plus de stabilité.
Q3 : Comment sauvegarder la sortie ?
R : Utilisez les boutons de copie ou de téléchargement si l'outil les propose.
✨ Fonctionnalités Principales
- 🔄 Conversion Intelligente: Analyse automatiquement les instructions CREATE TABLE et génère les classes d'entité Java correspondantes
- 🏷️ Support d'Annotations Multiples: Génère les annotations JPA, Lombok et Bean Validation
- 📊 Mappage de Types: Mappage complet des types de données SQL vers les types Java
- ⚙️ Options Configurables: Personnalise nom du package, génération d'annotations, conventions de nommage et mappage des types de temps
- 🔧 Gestion des Contraintes: Gère automatiquement les clés primaires, clés étrangères, contraintes uniques, valeurs par défaut, etc.
- 📝 Standards de Code: Génère du code qui suit les conventions de nommage Java
- 🎯 Flexibilité de Nommage: Support des styles de nommage camelCase et trait de soulignement
- ⏰ Choix des Types de Temps: Option pour mapper les champs temps vers des objets temps ou des chaînes
📖 Exemples d'Utilisation
Conversion de Structure de Table Basique
SQL DDL d'Entrée:
CREATE TABLE users (
id BIGINT AUTO_INCREMENT PRIMARY KEY,
username VARCHAR(50) NOT NULL UNIQUE,
email VARCHAR(100) NOT NULL,
age INT,
is_active BOOLEAN DEFAULT TRUE,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
);
Entité Java de Sortie:
package com.example.entity;
import java.time.LocalDateTime;
import javax.persistence.*;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.AllArgsConstructor;
import java.io.Serializable;
@Data
@NoArgsConstructor
@AllArgsConstructor
@Entity
@Table(name = "users")
public class Users implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "id", nullable = false)
private Long id;
@Column(name = "username", nullable = false, unique = true)
private String username;
@Column(name = "email", nullable = false)
private String email;
@Column(name = "age")
private Integer age;
@Column(name = "is_active")
private Boolean isActive;
@Column(name = "created_at")
private LocalDateTime createdAt;
@Column(name = "updated_at")
private LocalDateTime updatedAt;
}
📐 Table de Mappage des Types de Données
Mappage des Types MySQL
| Type SQL | Type Java | Description |
|---|---|---|
| VARCHAR, CHAR, TEXT | String | Types de chaîne |
| INT, INTEGER | Integer | Entier 32 bits |
| BIGINT | Long | Entier 64 bits |
| SMALLINT | Short | Entier 16 bits |
| TINYINT | Byte | Entier 8 bits |
| DECIMAL, NUMERIC | BigDecimal | Décimal haute précision |
| FLOAT | Float | Virgule flottante simple précision |
| DOUBLE | Double | Virgule flottante double précision |
| BOOLEAN, BOOL | Boolean | Valeur booléenne |
| DATETIME, TIMESTAMP | LocalDateTime | Date et heure |
| DATE | LocalDate | Date seulement |
| TIME | LocalTime | Heure seulement |
| JSON | String | Données JSON |
| BLOB, BINARY | byte[] | Données binaires |
⚙️ Options de Configuration
Configuration des Annotations
- Générer Annotations JPA: Ajouter
@Entity,@Table,@Column,@Idet autres annotations standard JPA - Générer Annotations Lombok: Ajouter annotations
@Data,@NoArgsConstructor,@AllArgsConstructor - Générer Annotations de Validation: Ajouter
@NotNull,@Sizeet autres annotations Bean Validation - Implémenter Interface Serializable: Faire implémenter l'interface de sérialisation aux classes générées
Configuration de Convention de Nommage
- Activer CamelCase:
user_name→userName(Recommandé, suit les conventions Java) - Conserver Trait de Soulignement:
user_name→user_name(Pour des exigences spéciales)
Configuration de Mappage des Types de Temps
- Mapper vers Objets Temps:
DATETIME→LocalDateTime(Recommandé, type sûr) - Mapper vers Chaînes:
DATETIME→String(Pour des considérations de compatibilité)
🔧 Conseils d'Utilisation
- Conventions de Nommage: Choisissez camelCase ou nommage avec trait de soulignement selon les exigences du projet
- Sélection d'Annotations: Vous pouvez générer sélectivement les annotations JPA, Lombok et de validation
- Configuration du Nom de Package: Vous pouvez personnaliser le nom du package pour le code généré
- Support de Sérialisation: Option pour implémenter l'interface Serializable
- Gestion des Contraintes: Reconnaît automatiquement les clés primaires, contraintes uniques, valeurs par défaut, etc.
- Types de Temps: Choisissez le mappage d'objets temps ou de chaînes selon les exigences métier
Cet outil de conversion SQL DDL vers Entité Java est un assistant puissant pour les développeurs Java, rendant la création d'entités de base de données simple et efficace!