Mybatis-Generator MyBatis 代码生成器 项目简介
mybatis.generator解决问题mybatis.generator 后续简称 dalgen,解决mybatis代码自动生成的缺失.对比其他代码生成工具mybatis-generator-maven-plugin mybatis比较官方的代码生成器,生成do,mapper,mapper.xml且生成大量mybatis动态sql. dalgen 除能根据指定表结构生成 do,mapper,mapper.xml外,还能根据自定义sql 自动生成对应mapper接口中的方法等为什么要开发此插件成为开发N年,经历了无数项目,从最初的hibernate 到ibatis 最后使用当前的mybatis,代码生成器也用了很多,自己也尝试编写了很多,到今天为止使用的其他代码生成器大都有与项目无关的共性。如mybaits的官方代码生成器mybatis-generator-maven-plugin,虽说也是一个maven插件但只能根据表生成一次,生成的sql大而全,完全脱离了项目本身。之前使用蚂蚁金服iDalgen时有很多重复功能无法得到支持,如返回结果根据指定属性转为Map,分页支持等。现在采用maven插件+fmpp重新书写了本dalgen,将之前遇到的问题在此全部解决。dalgen特点maven插件 代码生成后无需copy SQL模板支持 常见的代码生成器只注重如何从DB到java代码,而dalgen增加了SQL模板,开发人员只需要简单书写SQL即可生成对应的java代码 扩展性 可以根据自己的需要增加自定义模板,模板语言Freemarker,建议学习一下 fmpp 配置简单 只需要再dal层pom.xml文件中引入dalgen插件,后续根据提示操作即可 SqlReview 由于采用了SQL模板所有SQL集中管理 SQLReview更加简洁,遇到问题DBA很容易给出建议 高级特性 支持 分页,返回结果自动转Map等目录结构 |--dal
| |--dalgen
| |--config //配置目录
| |--config.xml //配置文件
| |--README.md //帮助文档
| |--table-config-1.0.dtd //模板dtd约束
| |--dalgenTables //模板目录${database.name}Tables
| |--MY_DALGEN.xml //SQL模板文件
| |--ext //扩展目录
| |--mybatis-config.xml.ftl //mybaits配置文件,可以在这配置TypeHandler
| |--src //pom.xml 中配置的目录
| |--main
| |--java
| |--example //config.xml中配置的输出包
| |--common
| |--paging //分页基础类
| |--BasePage.java
| |--dalgen
| |--dao
| |--DalgenDAO.java
| |--do
| |--DalgenDO.java
| |--mapper
| |--DalgenDOMapper.java
| |--DBPreCheckMapper.java //check类,可忽略
| |--paging
| |--MyDalgenPage.java
| |--resultmap
| |--PageOptimizeResult.java
| |--resources //mapper.xml数据目录,config.xml中配置
| |--mapper
| |--dalgen
| |--DalgenDOMapper.xml
| |--DBPreCheckMapper.xml 详情请移步项目文档
| |--dalgen
| |--config //配置目录
| |--config.xml //配置文件
| |--README.md //帮助文档
| |--table-config-1.0.dtd //模板dtd约束
| |--dalgenTables //模板目录${database.name}Tables
| |--MY_DALGEN.xml //SQL模板文件
| |--ext //扩展目录
| |--mybatis-config.xml.ftl //mybaits配置文件,可以在这配置TypeHandler
| |--src //pom.xml 中配置的目录
| |--main
| |--java
| |--example //config.xml中配置的输出包
| |--common
| |--paging //分页基础类
| |--BasePage.java
| |--dalgen
| |--dao
| |--DalgenDAO.java
| |--do
| |--DalgenDO.java
| |--mapper
| |--DalgenDOMapper.java
| |--DBPreCheckMapper.java //check类,可忽略
| |--paging
| |--MyDalgenPage.java
| |--resultmap
| |--PageOptimizeResult.java
| |--resources //mapper.xml数据目录,config.xml中配置
| |--mapper
| |--dalgen
| |--DalgenDOMapper.xml
| |--DBPreCheckMapper.xml 详情请移步项目文档