代码生成器:mybatis-plus-generator自定义模板的参数如何设置
时间: 2023-10-13 19:10:49 浏览: 231
Mybatis-Plus Generator是基于Mybatis-Generator的扩展,支持自定义代码生成器模板。
自定义模板的参数设置步骤如下:
1. 新建自定义模板文件
在Mybatis-Plus Generator的classpath:templates目录下新建自定义模板文件,例如在该目录下新建一个MyMapper.xml.vm文件。
2. 在代码生成器配置文件中配置自定义模板路径
在代码生成器的配置文件中配置自定义模板路径,在该文件中找到templateEngine节点下的velocityTemplatePath节点,并将其值设置为自定义模板文件所在目录的绝对路径。
例如:
```
<templateEngine>
<type>velocity</type>
<velocity>
<properties>
<property>
<name>file.resource.loader.path</name>
<value>/Users/username/mybatis-plus-generator/templates</value>
</property>
</properties>
</velocity>
</templateEngine>
```
3. 设置自定义模板参数
在自定义模板文件中,使用Velocity模板语言来设置自定义参数。例如,在MyMapper.xml.vm文件中添加以下内容:
```
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="$packageName.$moduleName.mapper.$entityNameMapper">
<resultMap id="BaseResultMap" type="$packageName.$moduleName.entity.$entityName">
#foreach($column in $table.columns)
<result column="$column.columnName" property="$column.propertyName" jdbcType="$column.jdbcType" />
#end
</resultMap>
</mapper>
```
在该模板中,使用了$packageName、$moduleName、$entityName等参数,这些参数需要在代码生成器的配置文件中进行设置。
在代码生成器的配置文件中找到strategyConfig节点下的superEntityClass、entityLombokModel、entityColumnConstant、entityBuilderModel、controllerMappingHyphenStyle、versionFieldName、logicDeleteFieldName、tablePrefix、fieldPrefix、include、exclude、entityTableFieldAnnotationEnable等节点,将其值设置为需要的参数值。
例如:
```
<strategyConfig>
<superEntityClass>com.baomidou.mybatisplus.extension.activerecord.Model</superEntityClass>
<entityLombokModel>true</entityLombokModel>
<entityColumnConstant>true</entityColumnConstant>
<entityBuilderModel>true</entityBuilderModel>
<controllerMappingHyphenStyle>true</controllerMappingHyphenStyle>
<versionFieldName>version</versionFieldName>
<logicDeleteFieldName>deleted</logicDeleteFieldName>
<tablePrefix>sys_</tablePrefix>
<fieldPrefix>sys_</fieldPrefix>
<include>sys_user,sys_role,sys_permission</include>
<exclude>sys_log</exclude>
<entityTableFieldAnnotationEnable>true</entityTableFieldAnnotationEnable>
</strategyConfig>
```
以上是自定义模板的参数设置步骤,按照这些步骤进行设置即可。
阅读全文