在线数据库表(sql语句)生成java实体类工具 - 参考手册
SQL建表语句
说明
格式良好的SQL
建表语句,可以是直接从PowerDesigner
、Navicat
等工具中导出SQL
建表语句。
所谓格式良好,是指建表指令与表名必须在一行,字段名称、类型、注释必须在一行,因为这个工具是用正则实现的,并不是语法解析器,当然,以后有时间的话,会改进成解析器。
举例
-- ---------------------------- -- Table structure for t_activity -- ---------------------------- DROP TABLE IF EXISTS `t_activity`; CREATE TABLE `t_activity` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `banner` varchar(128) NOT NULL COMMENT '活动图片', `title` varchar(128) NOT NULL COMMENT '标题', `des` varchar(1024) NOT NULL COMMENT '简介', `start_time` datetime NOT NULL COMMENT '开始时间', `end_time` datetime NOT NULL COMMENT '结束时间', `view_num` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '浏览量', `work_num` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '投稿量', `create_time` datetime NOT NULL COMMENT '创建时间', PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='活动表';
基本设定
Bean类包名
说明
java实体类
所在的包完整路径,只填写路径即可,不需要前边的package
关键字和末尾的分号。
每个java类必须有,因此必填。
考虑到实体类基本都在同一个包下,因此只填写一个全局的即可,不单独为每个类设置。
举例
cc.cospace.web.model
表名前缀
说明
一个良好的数据库表命名,会有一个前缀,说明这是一个表,一般情况下这个前缀是t_
。生成java实体类
的时候,不需要这个前缀,因此可以将它过滤掉。
假如您有强迫症,很喜欢带着前缀的感觉,不填此项即可。
举例
t_
Bean名模版
说明
此工具会将数据库表名转换成大驼峰、小驼峰的形式,作为java实体类名称。
这里可以指定自己的命名模版,定制不同风格的实体类命名。
模版中有两个变量可供使用:
{lowerCamelCase} Bean名小驼峰
{camelCase} Bean名大驼峰
举例
假设数据库表名为user_tag
不填
最终生成的Bean名称为UserTag
填写
假设模版为{camelCase}Model
,最终生成的Bean名称为UserTagModel
使用包装类
说明
默认情况下,以基本类型表达实体类中的成员变量的类型,如果您需要使用基本类型包装类,请勾选此项。
建议使用基本类型,包装类没有任何优势,却带来很多问题。
举例
不勾选
private int i;
勾选
private Integer i;
忽略字段
说明
忽略表中的某些字段,直接填写字段名即可,一行一个。
为什么要忽略?因为某些字段已经包含在公共父类中了,不需要在子类中体现。
举例
id
create_time
注释设定
类注释模版
说明
SQL建表语句
中的表注释将作为java实体类
中的类注释。
在这里您可以指定自己的注释模板,默认的模板就是举例中的模板。
模版中有两个变量可供使用:
{comment} 注释内容
{date} 当前日期
举例
/** * {comment} * @author jdandian.com * @date {date} */
属性注释模版
说明
SQL建表语句
中的字段注释将作为java实体类
中的成员变量注释。
在这里您可以指定自己的注释模板,默认的模板就是举例中的模板。
模版中有两个变量可供使用:
- {comment} 注释内容
- {date} 当前日期
举例
/** * {comment} */
继承设定
启用父类
说明
设计良好的架构中,实体类一般会有一个公共的父类封装,勾选此选项,启用父类支持。
如果实体类没有父类,无视此项即可。
举例
不勾选 public class A {} 勾选 public class A extends B {}
父类名称
说明
启用父类之后,必须指定父类的名称,否则继承语法不完整。
举例
BasicModel
父类包名
说明
启用父类之后,如果父类与子类不在同一个包下,需要单独指定父类所在的包名。
同理,只填完整写路径即可,不需要前边的package
关键字和末尾的分号。
举例
cc.cospace.web.model.common
搞事情
转换
说明
首先告诉您,这个转换在服务端完成的,所以不要想着扒代码咯[机智]。
当您准备好所需的一切,点击转换按钮,将得到一个zip压缩包
,里边包含了所有的java实体类
。
如果运气足够差,您也可能得到一个没有卵用的错误提示。
举例