# dalgenx **Repository Path**: mirrors_gspandy/dalgenx ## Basic Information - **Project Name**: dalgenx - **Description**: dalgenX是对支付宝dalgen代码生成器的开源实现,freemarker版,可迭代开发生成器,同时支持ibatis和mybatis - **Primary Language**: Unknown - **License**: AGPL-3.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2021-04-07 - **Last Updated**: 2025-09-20 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ### 介绍 1. dalgenX是对支付宝dalgen代码生成器的开源实现,freemarker版 2. 该项目基于cn_rapidframework(dalgenx为了生产使用性改造很多) 3. dalgen开源初级版最早由badqiu放在taocode上,badqiu大神我不认识,mybatis-plus-pagging.jar那个分页器有一个@author badqiu 4. 我对本项目持续开发优化从2015年开始,用于生产环境改造,特别是支持可迭代开发(全网唯一??),它生成java代码时会双向比对java文件。所以本版基本上是重构开发,命名为dalgenX。 5. 与支付宝dalgen还有一个区别:支付宝dalgen只支持ibatis,而dalgenX可以在ibatis与mybatis之间自由切换生成.dalgenX解决dalgen中DDD模型开发中的失血模式下的失忆问题。 6. dalgenX中的sql为batis中sql的语法糖,方便对sql阅读,开发,DBA优化,语法糖只在生成代码时起作用,显式生成目标batis sql语言。不参与运行期,无需担心语法糖会造成运行期bug。 7. StateGen用dalgenX来生成dao层+service层+baseController层,开发者也可以单独在自己的项目中使用. 8. 我使用过一段时间支付宝的dalgen,被其深深的理念所折服,很难再回到之前的mybatis-gernerator搞原始低效和肉身比对文件风险的开发,我也无法接受在java文件上里混入sql的开发理念(hibernate就是这样失去市场的??)。加上很幸运地taocode关闭前找到badqiu的dalgen。工欲善其事,必先利其器,所以才有今天的dalgenX 8. 因为早期基于的项目不是svn管理就是代码管理平台(taocode)关闭,无法列举源项目地址.在此向前辈开源贡献者表示感谢。 ### 以下是使用方法: 1. #### 配置 dalgenX ``` git clone https://github.com/stategen/dalgenx.git ``` 2. 设置 DALGENX_HOME 环境变量为 dalgenx所在目录 3. 将 %DALGENX_HOME% 添加至 PATH 中 4. Ide中配置(eclipse|myeclipse|idea)xml文件,方便开发时打字提示. >location: {DALGENX_HOME}\gen.schemas-1.0.dtd >key type: system Id >key: https://github.com/stategen/dalgenx/blob/master/gen.schemas-1.0.dtd ##### 用命令初始化系统及项目/范例 ps: 以下gen.sh 必须在gitbash中运行,不能在cmd中运行。linux可以无需考虑。 1. 帮助 ``` gen.sh -h //只需用到里面的两个命令 table 和 dal ``` 复制以下gen_config.xml到你项目同级目录,如果有parent pom.xml的话,和这个pom.xml平行,修改生成目的地的key值 ```xml true true true true true com.mycompany.biz trade 1-trade-pojo 2-trade-facade 4-trade-dao 5-trade-service 6-trade-web-base domain br_,demo_ true ]]> --> ]]> jdbc:mysql://localhost:3306/trade?useUnicode=true com.mysql.jdbc.Driver stategen stategen mybatis ibatis true ```