1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/xsxgit-JG

Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

Версия

Текущая самая новая версия — 1.2.1 Версия Лицензия JDK 1.7

Описание

Простой в использовании и без каких-либо зависимостей генератор Java-классов из таблиц баз данных или создание таблиц из Java-классов.

Поддерживает следующие базы данных: MySQL, Oracle, SQL Server, PostgreSQL

Драйверы и адреса баз данных

MySQL

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"

Oracle

driverClassName: "oracle.jdbc.OracleDriver"
dbUrl: "jdbc:oracle:thin:@//127.0.0.1:1521/orcl"

SQL Server

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 должно быть последним параметром)

PostgreSQL

driverClassName: "org.postgresql.Driver"
dbUrl: "jdbc:postgresql://127.0.0.1:5432/test"

MAVEN зависимости

<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

Oracle

  1. База данных -> Java-класс
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

Контактная информация

QQ: 344646090```

Комментарии ( 0 )

Вы можете оставить комментарий после Вход в систему

Введение

Простой в использовании генератор таблиц-классов Java, основанный на JDK1.7 и не имеющий зависимостей, который может автоматически генерировать классы Java из таблиц базы данных или таблицы базы данных из классов Java. Развернуть Свернуть
Apache-2.0
Отмена

Обновления (3)

все

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/xsxgit-JG.git
git@api.gitlife.ru:oschina-mirror/xsxgit-JG.git
oschina-mirror
xsxgit-JG
xsxgit-JG
master