Текущая самая новая версия — 1.2.1
Простой в использовании и без каких-либо зависимостей генератор Java-классов из таблиц баз данных или создание таблиц из Java-классов.
Поддерживает следующие базы данных: MySQL, Oracle, SQL Server, PostgreSQL
driverClassName: "com.mysql.jdbc.Driver"(6.0.x и ниже)
"com.mysql.cj.jdbc.Driver"(6.0.x и выше, требуется JDK 1.8 и выше)
dbUrl: "jdbc:mysql://127.0.0.1:3306/test"
driverClassName: "oracle.jdbc.OracleDriver"
dbUrl: "jdbc:oracle:thin:@//127.0.0.1:1521/orcl"
driverClassName: "com.microsoft.sqlserver.jdbc.SQLServerDriver"(2005 и выше)
"com.microsoft.jdbc.sqlserver.SQLServerDriver"(2000)
dbUrl: "jdbc:sqlserver://127.0.0.1:1433;databasename=test"(databasename=XXX должно быть последним параметром)
driverClassName: "org.postgresql.Driver"
dbUrl: "jdbc:postgresql://127.0.0.1:5432/test"
<dependency>
<groupId>wiki.xsx</groupId>
<artifactId>JG-All</artifactId>
<version>1.2.1</version>
</dependency>
Вызов метода Generator.createXXX
для создания соответствующей таблицы или Java-класса.
Пример:
import wiki.xsx.jg.main.Generator;
``````md
Конечная строка `tableNames`: `"test1,test2,test3"`
// Необходимые для генерации данных таблиц Java-классы
`final String classNames = "Test1,Test2,Test3";`
// Генерация Java-файлов по данным таблицам
`Generator.createFiles(tableNames, driverClassName, dbUrl, userName, password, rootPath, packageName);`
// Генерация Java-файлов по всем таблицам в базе данных
`Generator.createFiles(driverClassName, dbUrl, userName, password, rootPath, packageName);`
// Создание таблиц по Java-классам
`Generator.createTables(classNames, driverClassName, dbUrl, userName, password, rootPath, packageName);`
// Создание таблиц по всем Java-классам в пакете
`Generator.createTables(driverClassName, dbUrl, userName, password, rootPath, packageName);`
Пример простого Java-класса:
import wiki.xsx.jg.annotation.Id;
import wiki.xsx.jg.annotation.Ignore;
import wiki.xsx.jg.annotation.IsNotNull;
import java.util.Date;
```/**
* Простой тестовый Java-класс
*/
public class Test1 {
@Id // Аннотация ключа
private Integer id;
@IsNotNull // Аннотация обязательного поля
private String name;
private Integer age;
private String address;
private String phoneNumber;
private Double salary;
@Ignore // Аннотация игнора (игнорирует это поле, не создаёт столбец; может использоваться для класса, когда используется для класса, игнорирует этот класс, не создаёт таблицу)
private String description;
private Date createTime;
...
}
# Соответствие типов данных
## MySQL
1. База данных -> Java-класс
```markdown
**База данных:** **Java-тип:**
CHAR | VARCHAR String
TINYINT | SMALLINT | MEDIUMINT | INT | INTEGER | YEAR Integer
BIGINT Long
FLOAT Float
DOUBLE Double
DECIMAL BigDecimal
DATE | DATETIME | TIMESTAMP Date
TIME Time
Database type Java type
CHAR|VARCHAR2|LONG String
NUMBER(x), 2<=x<=9 Integer
NUMBER(x), 10<=x<=18 Long
NUMBER(x,y), y=1 Float
NUMBER(x,y), y>=2 Double
NUMBER(x), x>=19 BigDecimal
DATE|TIME|TIMESTAMP Date
BLOB Blob
CLOB Clob
Others Object
### Java типы и соответствующие им базовые типы данных
| Java тип | Базовый тип данных |
| --- | --- |
| `String` | `VARCHAR` |
| `Integer`, `Long`, `Float`, `Double`, `BigDecimal`, `Boolean`, `Byte`, `Short` | `NUMBER` |
| `Date`, `Time` | `DATE` |
| `Timestamp` | `TIMESTAMP` |
| `Blob` | `BLOB` |
| `Clob` | `CLOB` |
| `byte[]` | `RAW` |
| Другие | `VARCHAR` |
### SQL Server
1. Преобразование таблиц базы данных в Java классы
Базовый тип данных | Java тип |
---|---|
CHAR , NCHAR , VARCHAR , NVARCHAR , TEXT , NTEXT , UNIQUEIDENTIFIER , XML
|
String |
INT |
Integer |
SMALLINT , TINYINT
|
Short |
BIGINT |
Long |
REAL |
Float |
FLOAT |
Double |
DECIMAL , NUMERIC , SMALLMONEY , MONEY
|
BigDecimal |
DATE , TIME , DATETIME , DATETIME2 , SMALLDATETIME , DATETIMEOFFSET
|
Date |
TIMESTAMP , BINARY , IMAGE , VARBINARY
|
byte[] |
BIT |
Boolean |
Другие | Object |
```2. Преобразование Java классов в таблицы базы данных
Java тип | Базовый тип данных |
---|---|
String |
NVARCHAR |
Integer |
INT |
Float |
REAL |
```### PostgreSQL
1. Database table -> Java class
Database type Java type
CHAR|VARCHAR|TEXT String
INT4|SERIAL4|INTERVAL Integer
INT2|SERIAL2 Short
INT8|SERIAL8 Long
FLOAT4 Float
FLOAT8|MONEY Double
DECIMAL BigDecimal
DATE|TIME|TIMETZ|TIMESTAMP|TIMESTAMPTZ Date
BOOL Boolean
Others Object
2. Java class -> Database table
Java type Database type
String VARCHAR
Integer INT4
Float FLOAT4
Double FLOAT8
Long INT8
``Краткое описание типов данных:
Short INT2
BigDecimal DECIMAL
Date DATE
Timestamp TIMESTAMP
Time TIME
```Boolean BOOL
Другие VARCHAR
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )