• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

JG-ALL: 一个基于JDK1.7,简单易用的、无任何依赖的数据库表-Java类自动生成器,可由 ...

原作者: [db:作者] 来自: 网络 收藏 邀请

开源软件名称:

JG-ALL

开源软件地址:

https://gitee.com/xsxgit/JG

开源软件介绍:

版本

当前最新版本为 1.2.1

VersionLicenseJDK 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                                                                         StringTINYINT|SMALLINT|MEDIUMINT|INT|INTEGER|YEAR                                          IntegerBIGINT                                                                               LongFLOAT                                                                                FloatDOUBLE                                                                               DoubleDECIMAL                                                                              BigDecimalDATE|DATETIME|TIMESTAMP                                                              DateTIME                                                                                 TimeBINARY|VARBINARY|TINYBLOB|BLOB|MEDIUMBLOB|LONGBLOB                                   byte[]Others                                                                               Object

2.Java类 -> 数据库表

Java类型                                                                             数据库类型 String                                                                               VARCHAR    Integer                                                                              INTLong                                                                                 BIGINTFloat                                                                                FLOATDouble                                                                               DoubleBigDecimal                                                                           DECIMALDate                                                                                 TIMESTAMPTime                                                                                 TIMEbyte[]                                                                               BLOBOthers                                                                               VARCHAR

Oracle

1.数据库表 -> Java类

数据库类型                                                                            Java类型CHAR|VARCHAR2|LONG                                                                   StringNUMBER(x), 2<=x<=9                                                                   IntegerNUMBER(x), 10<=x<=18                                                                 LongNUMBER(x,y), y=1                                                                     FloatNUMBER(x,y), y>=2                                                                    DoubleNUMBER(x), x>=19                                                                     BigDecimalDATE|TIME|TIMESTAMP                                                                  DateBLOB                                                                                 BlobCLOB                                                                                 ClobOthers                                                                               Object

2.Java类 -> 数据库表

Java类型                                                                             数据库类型 String                                                                               VARCHARInteger|Long|Float|Double|BigDecimal|Boolean|Byte|Short                              NUMBERDate|Time                                                                            DATETimestamp                                                                            TIMESTAMPBlob                                                                                 BLOBClob                                                                                 CLOBbyte[]                                                                               RAWOthers                                                                               VARCHAR

SQL Server

1.数据库表 -> Java类

数据库类型                                                                            Java类型CHAR|NCHAR|VARCHAR|NVARCHAR|TEXT|NTEXT|UNIQUEIDENTIFIER|XML                          StringINT                                                                                  IntegerSMALLINT|TINYINT                                                                     ShortBIGINT                                                                               LongREAL                                                                                 FloatFLOAT                                                                                DoubleDECIMAL|NUMERIC|SMALLMONEY|MONEY                                                     BigDecimalDATE|TIME|DATETIME|DATETIME2|SMALLDATETIME|DATETIMEOFFSET                            DateTIMESTAMP|BINARY|IMAGE|VARBINARY                                                     byte[]BIT                                                                                  BooleanOthers                                                                               Object

2.Java类 -> 数据库表

Java类型                                                                             数据库类型 String                                                                               NVARCHARInteger                                                                              INTFloat                                                                                REALDouble                                                                               FLOATLong                                                                                 BIGINTShort                                                                                SMALLINTBigDecimal                                                                           DECIMALDate|Time|Timestamp                                                                  DATETIMEBoolean                                                                              BITbyte[]                                                                               VARBINARYOthers                                                                               NVARCHAR

PostgreSQL

1.数据库表 -> Java类

数据库类型                                                                            Java类型CHAR|VARCHAR|TEXT                                                                    StringINT4|SERIAL4|INTERVAL                                                                IntegerINT2|SERIAL2                                                                         ShortINT8|SERIAL8                                                                         LongFLOAT4                                                                               FloatFLOAT8|MONEY                                                                         DoubleDECIMAL                                                                              BigDecimalDATE|TIME|TIMETZ|TIMESTAMP|TIMESTAMPTZ                                               DateBOOL                                                                                 BooleanOthers                                                                               Object

2.Java类 -> 数据库表

Java类型                                                                             数据库类型 String                                                                               VARCHARInteger                                                                              INT4Float                                                                                FLOAT4Double                                                                               FLOAT8Long                                                                                 INT8Short                                                                                INT2BigDecimal                                                                           DECIMALDate                                                                                 DATETimestamp                                                                            TIMESTAMPTime                                                                                 TIMEBoolean                                                                              BOOLOthers                                                                               VARCHAR

联系方式

QQ:344646090


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap