开源软件名称:JG-ALL
开源软件地址:https://gitee.com/xsxgit/JG
开源软件介绍:
版本当前最新版本为 1.2.1 简介一个 简单易用、无任何依赖 的数据库表-Java类自动生成器,可由数据库表自动生成Java类或由Java类自动生成数据库表。 目前已支持 MySQL 、Oracle 、SQL Server 、PostgreSQL 等数据库。 驱动名称及数据库地址形式MySQLdriverClassName: "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" OracledriverClassName: "oracle.jdbc.OracleDriver"dbUrl: "jdbc:oracle:thin:@//127.0.0.1:1521/orcl" SQL ServerdriverClassName: "com.microsoft.sqlserver.jdbc.SQLServerDriver"(2005版本及以后) "com.microsoft.jdbc.sqlserver.SQLServerDriver"(2000版本)dbUrl: "jdbc:sqlserver://127.0.0.1:1433;databasename=test"(databasename=XXX需放在最后) PostgreSQLdriverClassName: "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&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; ......} 数据类型对应关系MySQL1.数据库表 -> 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 Oracle1.数据库表 -> 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 Server1.数据库表 -> 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 PostgreSQL1.数据库表 -> 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 |
请发表评论