Create your Gitee Account
Explore and code with more than 6 million developers,Free private repositories !:)
Sign up
Clone or download
Cancel
Notice: Creating folder will generate an empty file .keep, because not support in Git
Loading...
README.md

版本

当前最新版本为 1.2.1

Version License JDK 1.7

简介

一个 简单易用无任何依赖 的数据库表-Java类自动生成器,可由数据库表自动生成Java类或由Java类自动生成数据库表。

目前已支持 MySQLOracleSQL ServerPostgreSQL 等数据库。

驱动名称及数据库地址形式

MySQL

driverClassName: "com.mysql.jdbc.Driver"(6.0.x以下)
                 "com.mysql.cj.jdbc.Driver"(6.0.x及以上,需要JDK1.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;

/**
 * 测试
 */
public class Test {
    public static void main(String[] args) throws Exception{
        // 数据库驱动名称
        final String driverClassName = "com.mysql.jdbc.Driver";
        // 数据库地址
        final String dbUrl = "jdbc:mysql://127.0.0.1:3306/test?zeroDateTimeBehavior=convertToNull&amp;autoReconnect=true&amp;useUnicode=true&amp;characterEncoding=utf-8";
        // 数据库用户名
        final String userName = "root";
        // 数据库用户密码
        final String password = "root";
        // 包所在的根路径
        final String rootPath = "F:\\Test";
        // Java类所在的完整包名
        final String packageName = "com.xsx.test";
        // 需要生成的Java类所对应的数据表名称
        final String 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类

数据库类型                                                                            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

BINARY|VARBINARY|TINYBLOB|BLOB|MEDIUMBLOB|LONGBLOB                                   byte[]

Others                                                                               Object

2.Java类 -> 数据库表

Java类型                                                                             数据库类型 

String                                                                               VARCHAR
    
Integer                                                                              INT

Long                                                                                 BIGINT

Float                                                                                FLOAT

Double                                                                               Double

BigDecimal                                                                           DECIMAL

Date                                                                                 TIMESTAMP

Time                                                                                 TIME

byte[]                                                                               BLOB

Others                                                                               VARCHAR

Oracle

1.数据库表 -> Java类

数据库类型                                                                            Java类型

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

2.Java类 -> 数据库表

Java类型                                                                             数据库类型 

String                                                                               VARCHAR

Integer|Long|Float|Double|BigDecimal|Boolean|Byte|Short                              NUMBER

Date|Time                                                                            DATE

Timestamp                                                                            TIMESTAMP

Blob                                                                                 BLOB

Clob                                                                                 CLOB

byte[]                                                                               RAW

Others                                                                               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

Others                                                                               Object

2.Java类 -> 数据库表

Java类型                                                                             数据库类型 

String                                                                               NVARCHAR

Integer                                                                              INT

Float                                                                                REAL

Double                                                                               FLOAT

Long                                                                                 BIGINT

Short                                                                                SMALLINT

BigDecimal                                                                           DECIMAL

Date|Time|Timestamp                                                                  DATETIME

Boolean                                                                              BIT

byte[]                                                                               VARBINARY

Others                                                                               NVARCHAR

PostgreSQL

1.数据库表 -> Java类

数据库类型                                                                            Java类型

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类 -> 数据库表

Java类型                                                                             数据库类型 

String                                                                               VARCHAR

Integer                                                                              INT4

Float                                                                                FLOAT4

Double                                                                               FLOAT8

Long                                                                                 INT8

Short                                                                                INT2

BigDecimal                                                                           DECIMAL

Date                                                                                 DATE

Timestamp                                                                            TIMESTAMP

Time                                                                                 TIME

Boolean                                                                              BOOL

Others                                                                               VARCHAR

联系方式

QQ:344646090

Comments ( 0 )

Sign in for post a comment

About

一个基于JDK1.7,简单易用的、无任何依赖的数据库表-Java类自动生成器,可由数据库表自动生成Java类或由Java类自动生成数据库表。 spread retract
Java
Apache-2.0
Cancel

Releases (3)

All

Gitee Metrics

Contributors

All

Activities

load more
can not load any more