MP代码生成模版
Java
java
/**
* @author 刘骏
* @version 1.0
* @description: mybatis代码生成器
* @since 2024/9/18 21:17
*/
import com.baomidou.mybatisplus.annotation.DbType;
import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.generator.AutoGenerator;
import com.baomidou.mybatisplus.generator.config.DataSourceConfig;
import com.baomidou.mybatisplus.generator.config.GlobalConfig;
import com.baomidou.mybatisplus.generator.config.PackageConfig;
import com.baomidou.mybatisplus.generator.config.StrategyConfig;
import com.baomidou.mybatisplus.generator.config.po.TableFill;
import com.baomidou.mybatisplus.generator.config.rules.NamingStrategy;
import java.util.ArrayList;
import java.util.List;
public class MPGenerator {
public static void main(String[] args) {
//代码生成器
AutoGenerator autoGenerator = new AutoGenerator();
//数据源配置
DataSourceConfig dataSourceConfig = new DataSourceConfig();
dataSourceConfig.setDbType(DbType.MYSQL);//指定数据库类型
//---------------------------数据源-----------------------------------
assembleDev(dataSourceConfig);//配置数据源
autoGenerator.setDataSource(dataSourceConfig);
//全局配置
GlobalConfig globalConfig = new GlobalConfig();
globalConfig.setOpen(false);
//todo 要改输出路径
globalConfig.setOutputDir(System.getProperty("user.dir") + "/mallchat-chat-server/src/main/java");
//设置作者名字
globalConfig.setAuthor("刘骏");
//去掉service的I前缀,一般只需要设置service就行
globalConfig.setServiceImplName("%sServiceImpl");
autoGenerator.setGlobalConfig(globalConfig);
//包配置
PackageConfig packageConfig = new PackageConfig();
packageConfig.setParent("com.liujun.common.user");//自定义包的路径
packageConfig.setEntity("domain.entity");
packageConfig.setMapper("mapper");
packageConfig.setController("controller");
packageConfig.setServiceImpl("serviceImpl");
autoGenerator.setPackageInfo(packageConfig);
//策略配置
StrategyConfig strategyConfig = new StrategyConfig();
//是否使用Lombok
strategyConfig.setEntityLombokModel(true);
//包,列的命名规则,使用驼峰规则
strategyConfig.setNaming(NamingStrategy.underline_to_camel);
// strategyConfig.setTablePrefix("t_");
strategyConfig.setColumnNaming(NamingStrategy.underline_to_camel);
//字段和表注解
strategyConfig.setEntityTableFieldAnnotationEnable(true);
//todo 这里修改需要自动生成的表结构
strategyConfig.setInclude(
"user"
);
//自动填充字段,在项目开发过程中,例如创建时间,修改时间,每次,都需要我们来指定,太麻烦了,设置为自动填充规则,就不需要我们赋值咯
List<TableFill> list = new ArrayList<TableFill>();
TableFill tableFill1 = new TableFill("create_time", FieldFill.INSERT);
TableFill tableFill2 = new TableFill("update_time", FieldFill.INSERT_UPDATE);
list.add(tableFill1);
list.add(tableFill2);
// strategyConfig.setTableFillList(list);
autoGenerator.setStrategy(strategyConfig);
//执行
autoGenerator.execute();
}
//todo 这里修改你的数据源
public static void assembleDev(DataSourceConfig dataSourceConfig) {
dataSourceConfig.setDriverName("com.mysql.cj.jdbc.Driver");
dataSourceConfig.setUsername("mallchat");
dataSourceConfig.setPassword("HCLD7kApGJT3KrYD");
dataSourceConfig.setUrl("jdbc:mysql://81.71.146.208:3306/mallchat?useUnicode=true&characterEncoding=utf-8&useSSL=true&serverTimezone=UTC");
}
}
pom
xml
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-generator</artifactId>
<version>3.4.1</version>
</dependency>
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.4.0</version>
</dependency>