快速生成项目所需代码。官方链接
安装

安装完后,重新启动IDEA生效。
模板配置
选择MybatisPlus作为模板,点击下图2步骤会弹出对话框,起个自己喜爱的名字
对下面模板文件进行配置
entity.java.vm
##导入宏定义$!{define.vm}##保存文件(宏定义),生成哪个文件夹里面#save("/pojo/po", ".java")##包路径(宏定义),生成文件所在的包名#setPackageSuffix("pojo.po")##自动导入包(全局变量)$!{autoImport.vm}import lombok.Data;@Datapublic class $!{tableInfo.name}{#foreach($column in $tableInfo.fullColumn)#if(${column.comment})//${column.comment}#endprivate $!{tool.getClsNameByFullName($column.type)} $!{column.name};#end}
dao.java.vm
##导入宏定义$!{define.vm}##设置表后缀(宏定义)#setTableSuffix("Mapper")##保存文件(宏定义)#save("/Mapper", "Mapper.java")##包路径(宏定义)#setPackageSuffix("mapper")import com.baomidou.mybatisplus.core.mapper.BaseMapper;import $!{tableInfo.savePackageName}.pojo.po.$!tableInfo.name;public interface $!{tableName} extends BaseMapper<$!tableInfo.name> {}
service.java.vm
##导入宏定义$!{define.vm}##设置表后缀(宏定义)#setTableSuffix("Service")##保存文件(宏定义)#save("/service", "Service.java")##包路径(宏定义)#setPackageSuffix("service")import com.baomidou.mybatisplus.extension.service.IService;import $!{tableInfo.savePackageName}.pojo.po.$!tableInfo.name;public interface $!{tableName} extends IService<$!tableInfo.name> {}
serviceImpl.java.vm
##导入宏定义$!{define.vm}##设置表后缀(宏定义)#setTableSuffix("ServiceImpl")##保存文件(宏定义)#save("/service/impl", "ServiceImpl.java")##包路径(宏定义)#setPackageSuffix("service.impl")import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;import $!{tableInfo.savePackageName}.mapper.$!{tableInfo.name}Mapper;import $!{tableInfo.savePackageName}.pojo.po.$!{tableInfo.name};import $!{tableInfo.savePackageName}.service.$!{tableInfo.name}Service;import org.springframework.stereotype.Service;import org.springframework.transaction.annotation.Transactional;@Service@Transactionalpublic class $!{tableName} extends ServiceImpl<$!{tableInfo.name}Mapper, $!{tableInfo.name}> implements $!{tableInfo.name}Service {}
controller.java.vm
##导入宏定义$!{define.vm}##设置表后缀(宏定义)#setTableSuffix("Controller")##保存文件(宏定义)#save("/controller", "Controller.java")##包路径(宏定义)#setPackageSuffix("controller")##定义服务名#set($serviceName = $!tool.append($!tool.firstLowerCase($!tableInfo.name), "Service"))##定义实体对象名#set($entityName = $!tool.firstLowerCase($!tableInfo.name))import $!{tableInfo.savePackageName}.pojo.po.$!tableInfo.name;import $!{tableInfo.savePackageName}.service.$!{tableInfo.name}Service;import org.springframework.web.bind.annotation.*;import org.springframework.beans.factory.annotation.Autowired;@RestController@RequestMapping("/$!tool.firstLowerCase($!tableInfo.name)s")public class $!{tableName} {@Autowiredprivate $!{tableInfo.name}Service service;}
Type Mapper配置
数据库字段映射到Java字段的类型需要做配置的,默认只配置了如下内容
我们还需进行如下配置,这样映射字段类型会更加全一些
| bigint(\(\d+\))? unsigned | java.math.BigInteger |
|---|---|
| int(\(\d+\))? unsigned | java.lang.Long |
| mediumint(\(\d+\))? unsigned | java.lang.Integer |
| mediumint(\(\d+\))? | java.lang.Integer |
| smallint(\(\d+\))? unsigned | java.lang.Integer |
| smallint(\(\d+\))? | java.lang.Short |
| tinyint(\(\d+\))? | java.lang.Byte |
| tinyint(\(\d+\))? unsigned | java.lang.Short |
((\d+))?为正则表达式。数据库字段类型可能是这样的int(4)
()?括号表示一个整体,?表示一次或者0次。(为转义
