代码拉取完成,页面将自动刷新
当前最新版本为 1.2.1
一个 简单易用、无任何依赖 的数据库表-Java类自动生成器,可由数据库表自动生成Java类或由Java类自动生成数据库表。
目前已支持 MySQL 、Oracle 、SQL Server 、PostgreSQL 等数据库。
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"
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;
/**
* 测试
*/
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&autoReconnect=true&useUnicode=true&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;
......
}
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
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
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
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
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。
1. 开源生态
2. 协作、人、软件
3. 评估模型