自动生成 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.Driverurl = jdbc:mysql://localhost:3306/test?zeroDateTimeBehavior=convertToNullusername=testuserpassword=testuser
?
生成文件依赖的配置: (这块根据需要进行改动)
#tablename=exam_user_paper#tablename=exam_user_paper_questtablename=exam_user_paper_recordprojecthome=E:/workspace/autogcode/author=zhaoguolidomain_package_path=cn.xxt.domainibatis_config_path=cn.xxt.dao.impldao_package_path=cn.xxt.daodaoimpl_package_path=cn.xxt.dao.implservice_package_path=cn.xxt.serviceserviceimpl_package_path=cn.xxt.service.impl
?
生成的效果:(经过单元测试,一切正常)!
?
?
?
实现思路:
(1) 数据库 读取 表结构信息(元数据)。
(2) 控制格式 生成 文件。
(3) 数据库 类型 同 java类型的 转换。
(4) 确定各个文档生成的规则,按照规则 写 转换的工具类。
(5) 进行单元测试。
???????? 最核心的最是确定适应自已的规则。
?
?
?