自动生成 domain,dao,daoimpl,service,serviceimpl 总结

之前一直用 ibator 或者 abator自动生成工具插件。

当然功能确定很强大,生成后需要改动的地方还有一些,简单看了下源码,支持比较广,源码比较多,修改的代价也比较大,一时冲动,自已写了个。

2011-06-14  至 2011-06-22 ,终于完成了!!!!

目前支持的功能比较局限:

(1) 支持 版本为  ibatis2.32.715 +  spring2.56  组合。

(2) 支持 mysql数据库。

(3) 只支持单表。

比之ibator好的地方(个人感觉)

(1) 能够根据 表结构中表名 ,字段名的注释,自动生成注释。

(2) 没有那么多无用的代码 和 注释。

(3) 可以生成 service层,service层接口。

(4) 可以按需指定 文件对应的包名。

(4) 可以灵活地 进行按照公司自已需要地进行灵活扩展,如添加分页!

(5) 对我个人来说,更容易维护。

当然也实现的配置化:

数据库连接 配置:(这块项目开发中基本不用怎么改动)

driverClassName = com.mysql.jdbc.Driver
url = jdbc:mysql://localhost:3306/test?zeroDateTimeBehavior=convertToNull
username=testuser
password=testuser

生成文件依赖的配置: (这块根据需要进行改动)

#tablename=exam_user_paper
#tablename=exam_user_paper_quest
tablename=exam_user_paper_record
projecthome=E:/workspace/autogcode/
author=zhaoguoli
domain_package_path=cn.xxt.domain
ibatis_config_path=cn.xxt.dao.impl
dao_package_path=cn.xxt.dao
daoimpl_package_path=cn.xxt.dao.impl
service_package_path=cn.xxt.service
serviceimpl_package_path=cn.xxt.service.impl

生成的效果:(经过单元测试,一切正常)!

实现思路:

(1) 数据库 读取 表结构信息(元数据)。

(2) 控制格式 生成 文件。

(3) 数据库 类型 同 java类型的 转换。

(4) 确定各个文档生成的规则,按照规则 写 转换的工具类。

(5) 进行单元测试。

         最核心的最是确定适应自已的规则。

猜你喜欢

转载自fhqllt.iteye.com/blog/1101201
今日推荐