编程代码自动生成 代码编程软件生成器( 二 )

数据库驱动依赖添加
code-builder不局限你使用的数据库类型, 所以在生成时需要使用者添加对应数据类型的依赖, 如上面的配置中则是添加了MySQL数据库的依赖
.....<dependencies> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.46</version> </dependency></dependencies>.....生成的控制开关
并不是每一次的编译或者打包时都需要生成对应的实体, 针对这种情况code-builder添加了execute参数来控制开启与关闭 。
数据库类型配置
执行自动生成前需要配置数据库的相关配置信息
数据库基本信息配置 (仅maven-plugin使用)
生成表名符合规则的表
根据表达式来创建表, 表达式与模糊查询语句表达式一般无二, 配置generatorByPattern参数并设置对应的表达式就可以根据表达式来匹配出参与生成的Table列表 。
<generatorByPattern>app_order%</generatorByPattern>示例:将会匹配出app_order_info、app_order_record等表 。
<generatorByPattern>%order</generatorByPattern>示例:将会匹配出app_good_order、app_exchange_order等表 。
<generatorByPattern>%order%</generatorByPattern>示例:将会匹配出app_order_info、app_good_order等表 。
生成指定表
code-builder支持指定单个或者多个表来生成, 只需要配置tables参数即可, 如下所示:
<tables> <table>app_shop_type</table> <table>app_user_exchange_good</table></tables>上面的配置是本次生成仅操作app_shop_type、app_user_exchange_good两张表 。
注意:tables参数的优先级要高于generatorByPattern参数 。
自定义builder所需模板路径
code-builder会自动去找classes/templates/builder下的模板, 如果使用默认的freemarker模板来生成, 那么模板所存放的位置为classes/templates/builder/freemarker 。 如果你想自定义模板的路径可以设置builderDir的地址, 在这里因为考虑到了不同操作系统的分隔符不一样(Windows系统分隔符\\, Linux以及O SX分隔符为/)所以这里采用.分隔符配置, code-builder会自动根据操作系统来转换路径, 配置如下所示:
<builderDir>classes.code.builder</builderDir>

注意:freemarker文件夹不允许修改, 只能修改code-builder加载模板的根路径 。
排除生成实体后的前缀
数据库设计有时需要添加前缀, 如:app_、sys_等, 实际生成实体后前缀则是并不想展示, 那么配置参数ignoreClassPrefix就可以自动排除前缀, 如下所示:
<ignoreClassPrefix>App</ignoreClassPrefix>
注意:由于替换生成后的类名称所以这里要准守驼峰命名规则首字母大写, 一次只能配置一个替换前缀 。
使用前AppUserInfoEntity, 使用后UserInfoEntity 。
模板配置
使用templates标签配置自定义的模板列表, 一次可以使用单个或者多个模板进行生成, 如下配置:
<templates> <template> <name>entity.ftl</name> <packageName>entity</packageName> <fileSuffix>entity</fileSuffix> </template> <template> <name>service.ftl</name> <packageName>service</packageName> <fileSuffix>Service</fileSuffix> </template> <template> <name>mapper.ftl</name> <packageName>mapper</packageName> <fileSuffix>Mapper</fileSuffix> </template></templates>