Рекомендуемые инструменты
Инструмент Конвертации SQL DDL в Java Entity
Преобразует SQL DDL операторы в классы Java сущностей с поддержкой аннотаций JPA, Lombok и валидации
Маппинг Типов Данных
Строковые Типы
- VARCHAR, CHAR, TEXT → String
- LONGTEXT, MEDIUMTEXT → String
- ENUM → String
Числовые Типы
- INT, INTEGER → Integer
- BIGINT → Long
- SMALLINT → Short
- TINYINT → Byte
- DECIMAL, NUMERIC → BigDecimal
- FLOAT, DOUBLE → Double
Временные Типы
- DATETIME, TIMESTAMP → LocalDateTime
- DATE → LocalDate
- TIME → LocalTime
Другие Типы
- BOOLEAN, BOOL → Boolean
- BLOB, BINARY → byte[]
- JSON → String
Соглашение Именования
user_name → userNameaccess_date → accessDateuser_name → user_nameaccess_date → access_dateМаппинг Временных Типов
DATETIME → LocalDateTimeDATE → LocalDateTIME → LocalTimeDATETIME → StringDATE → StringTIME → StringОбзор инструмента: Инструмент Конвертации SQL DDL в Java Entity
В разработке Java, особенно при использовании Spring Boot и JPA фреймворков, часто возникает необходимость создания классов сущностей на основе структур таблиц базы данных. Ручное написание этих классов сущностей не только отнимает время, но и подвержено ошибкам. Этот инструмент автоматически конвертирует SQL DDL операторы в стандартные Java классы сущностей, значительно повышая эффективность разработки.
Что такое Инструмент Конвертации SQL DDL в Java Entity
Инструмент Конвертации SQL DDL в Java Entity быстро конвертирует SQL DDL в Java entity и выдает готовый результат.
Как пользоваться
- Вставьте данные SQL DDL или укажите параметры.
- Выберите выход Java entity и настройте опции.
- Проверьте результат и скопируйте или скачайте.
Частые сценарии
- Миграция формата SQL DDL↔Java entity
- Использование данных SQL DDL в Java entity-процессах или генерации кода
- Проверка конвертации по спецификациям
❓ Частые вопросы
В1: Конвертация не удалась или пусто?
О: Проверьте, что вход SQL DDL валиден и полный.
В2: Результат выглядит иначе?
О: Формат может измениться по правилам Java entity.
В3: Как обрабатывать пакетно?
О: Делите на небольшие части для стабильности.
✨ Основные Возможности
- 🔄 Умная Конвертация: Автоматически анализирует операторы CREATE TABLE и генерирует соответствующие Java классы сущностей
- 🏷️ Поддержка Множественных Аннотаций: Генерирует аннотации JPA, Lombok и Bean Validation
- 📊 Маппинг Типов: Полное сопоставление типов данных SQL с типами Java
- ⚙️ Настраиваемые Опции: Настройка имени пакета, генерации аннотаций, соглашений именования и маппинга временных типов
- 🔧 Обработка Ограничений: Автоматически обрабатывает первичные ключи, внешние ключи, уникальные ограничения, значения по умолчанию и т.д.
- 📝 Стандарты Кода: Генерирует код, следующий соглашениям именования Java
- 🎯 Гибкость Именования: Поддержка стилей именования camelCase и подчеркивания
- ⏰ Выбор Временных Типов: Опция для маппинга временных полей в временные объекты или строки
📖 Примеры Использования
Конвертация Базовой Структуры Таблицы
Входной SQL DDL:
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
);
Выходная Java Сущность:
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;
}
📐 Таблица Маппинга Типов Данных
Маппинг Типов MySQL
| Тип SQL | Тип Java | Описание |
|---|---|---|
| VARCHAR, CHAR, TEXT | String | Строковые типы |
| INT, INTEGER | Integer | 32-битное целое |
| BIGINT | Long | 64-битное целое |
| SMALLINT | Short | 16-битное целое |
| TINYINT | Byte | 8-битное целое |
| DECIMAL, NUMERIC | BigDecimal | Высокоточное десятичное |
| FLOAT | Float | Число с плавающей точкой одинарной точности |
| DOUBLE | Double | Число с плавающей точкой двойной точности |
| BOOLEAN, BOOL | Boolean | Логическое значение |
| DATETIME, TIMESTAMP | LocalDateTime | Дата и время |
| DATE | LocalDate | Только дата |
| TIME | LocalTime | Только время |
| JSON | String | JSON данные |
| BLOB, BINARY | byte[] | Бинарные данные |
⚙️ Опции Конфигурации
Конфигурация Аннотаций
- Генерировать JPA Аннотации: Добавление
@Entity,@Table,@Column,@Idи других стандартных JPA аннотаций - Генерировать Lombok Аннотации: Добавление аннотаций
@Data,@NoArgsConstructor,@AllArgsConstructor - Генерировать Валидационные Аннотации: Добавление
@NotNull,@Sizeи других Bean Validation аннотаций - Реализовать Интерфейс Serializable: Сделать генерируемые классы реализующими интерфейс сериализации
Конфигурация Соглашения Именования
- Включить CamelCase:
user_name→userName(Рекомендуется, следует Java соглашениям) - Сохранить Подчеркивание:
user_name→user_name(Для специальных требований)
Конфигурация Маппинга Временных Типов
- Маппинг в Временные Объекты:
DATETIME→LocalDateTime(Рекомендуется, типобезопасно) - Маппинг в Строки:
DATETIME→String(Для соображений совместимости)
🔧 Советы по Использованию
- Соглашения Именования: Выбирайте camelCase или именование с подчеркиванием в зависимости от требований проекта
- Выбор Аннотаций: Вы можете выборочно генерировать аннотации JPA, Lombok и валидации
- Настройка Имени Пакета: Вы можете настроить имя пакета для генерируемого кода
- Поддержка Сериализации: Опция для реализации интерфейса Serializable
- Обработка Ограничений: Автоматически распознает первичные ключи, уникальные ограничения, значения по умолчанию и т.д.
- Временные Типы: Выбирайте маппинг временных объектов или строк в зависимости от бизнес-требований
Этот инструмент конвертации SQL DDL в Java Entity является мощным помощником для Java разработчиков, делая создание сущностей базы данных простым и эффективным!