本文主要是介绍Mybatis Plus baomidou EasyCode插件自动生成驼峰字段实体类,而不是全小写字段实体类,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
开发环境:
- springboot 2.4.3
- baomidou 3.4.0
- mybatis plus 3.4.0
- jdk8
问题描述:
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}.*/#endprivate $!{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}.*/#endprivate $!{tool.getClsNameByFullName($column.type)} $!{column.name};
#end}
系列文章目录
这篇关于Mybatis Plus baomidou EasyCode插件自动生成驼峰字段实体类,而不是全小写字段实体类的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!