1、mybatis 使用baomidou 插件,EasyCode自动生成实体类,但字段都是全部小写的,不太符合编码规范。
2、mysql表字段全是驼峰,生成的实体类字段全是小写,使用的默认的Mybatis 插件模板;
操作步骤
模板代码
经网上搜索一轮,基本上确定是easy code插件模板,默认使用$!column.obj.name
函数,这样如果db表字段是下划线会自动转为驼峰,如果db的字段本来就是驼峰,则会全部转为小写,所以我们需要修改一下模板。
#foreach($column in $tableInfo.fullColumn)
#if(${column.comment})
/**
* ${column.comment}.
*/
#else
/**
* ${column.name}.
*/
#end
private $!{tool.getClsNameByFullName($column.type)} $!{column.name};
#end
复制一份模板,并增加以下配置。
完整配置如下:
##导入宏定义
$!define
## 改写列名,避免全小写
#foreach($column in $tableInfo.fullColumn)
#if(!$!column.obj.name.contains("_"))
## 数据库字段名是驼峰命名
$!column.setName($!column.obj.name)
#else
## 数据库字段名是下划线的方式命名
$!column.setName($tool.getJavaName($!column.obj.name))
#end
#end
##保存文件(宏定义)
#save("/model", ".java")
##包路径(宏定义)
#setPackageSuffix("model")
##自动导入包(全局变量)
$!autoImport
import lombok.Data;
import java.io.Serializable;
##表注释(宏定义)
#tableComment("表实体类.")
@Data
public class $!{tableInfo.name} implements Serializable {
private static final long serialVersionUID = $!tool.serial();
#foreach($column in $tableInfo.fullColumn)
#if(${column.comment})
/**
* ${column.comment}.
*/
#else
/**
* ${column.name}.
*/
#end
private $!{tool.getClsNameByFullName($column.type)} $!{column.name};
#end
}