快速生成项目所需代码。官方链接
安装
安装完后,重新启动IDEA生效。
模板配置
选择MybatisPlus作为模板,点击下图2步骤会弹出对话框,起个自己喜爱的名字
对下面模板文件进行配置
entity.java.vm
##导入宏定义
$!{define.vm}
##保存文件(宏定义),生成哪个文件夹里面
#save("/pojo/po", ".java")
##包路径(宏定义),生成文件所在的包名
#setPackageSuffix("pojo.po")
##自动导入包(全局变量)
$!{autoImport.vm}
import lombok.Data;
@Data
public class $!{tableInfo.name}{
#foreach($column in $tableInfo.fullColumn)
#if(${column.comment})//${column.comment}#end
private $!{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
@Transactional
public 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} {
@Autowired
private $!{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次。(为转义