Spring Boot connects to the database to automatically generate code

SpringBoot+MySQL+Mybatis Plus automatically generates code

1. Add dependencies

In addition to the dependencies automatically generated by SpringBoot, the necessary dependencies need to be added. Such as mybatis plus, data connection pool dependencies, lombok, code generator dependencies, template dependencies.

<!--spring webmvc-->
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-web</artifactId>
		</dependency>

		<!--mybatisplus-->
		<dependency>
			<groupId>com.baomidou</groupId>
			<artifactId>mybatis-plus-boot-starter</artifactId>
			<version>3.4.1</version>
		</dependency>

		<!--druid-->
		<dependency>
			<groupId>com.alibaba</groupId>
			<artifactId>druid</artifactId>
			<version>1.1.16</version>
		</dependency>

		<!--mysql-->
		<dependency>
			<groupId>mysql</groupId>
			<artifactId>mysql-connector-java</artifactId>
			<scope>runtime</scope>
		</dependency>

		<!--test-->
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-test</artifactId>
			<scope>test</scope>
		</dependency>

		<!--lombok-->
		<dependency>
			<groupId>org.projectlombok</groupId>
			<artifactId>lombok</artifactId>
			<version>1.18.12</version>
		</dependency>

		<!--代码生成器-->
		<dependency>
			<groupId>com.baomidou</groupId>
			<artifactId>mybatis-plus-generator</artifactId>
			<version>3.4.1</version>
		</dependency>

		<!--velocity模板引擎-->
		<dependency>
			<groupId>org.apache.velocity</groupId>
			<artifactId>velocity-engine-core</artifactId>
			<version>2.3</version>
		</dependency>

2. Code generator program

public class Generator {
    
    
    public static void main(String[] args) {
    
    
        // 获取代码生成器对象
        AutoGenerator autoGenerator = new AutoGenerator();
        // 设置数据库相关配置
        DataSourceConfig datasouce = new DataSourceConfig();
        datasouce.setDriverName("com.mysql.cj.jdbc.Driver");
        datasouce.setUrl("jdbc:mysql://localhost:3306/test");
        datasouce.setUsername("root");
        datasouce.setPassword("root");
        autoGenerator.setDataSource(datasouce);

        // 设置全局配置
        GlobalConfig globalConfig = new GlobalConfig();
        globalConfig.setOutputDir(System.getProperty("user.dir")+"/src/main/java");  // 设置代码生成位置
        globalConfig.setOpen(false);    // 设置生成完毕后是否打开生成代码的所在目录
        globalConfig.setAuthor("TaiYi");    // 设置作者
        globalConfig.setFileOverride(true); // 设置是否覆盖原始生成文件
        globalConfig.setMapperName("%sDao"); // 设置数据层接口名,%s为占位符,指代模块名称
        globalConfig.setIdType(IdType.AUTO);    // 设置ID的生成策略
        autoGenerator.setGlobalConfig(globalConfig);

        // 设置包名相关配置
        PackageConfig packageConfig = new PackageConfig();
        packageConfig.setParent("com.taiyi");   // 设置生成包的包名,与代码所在位置不冲突,二者叠加组成
        packageConfig.setEntity("domain");  // 设置肢体类包名
        packageConfig.setMapper("dao"); // 设置数据层包名
        autoGenerator.setPackageInfo(packageConfig);

        // 策略设置
        StrategyConfig strategyConfig = new StrategyConfig();
//        strategyConfig.setInclude("user");  // 设置具体表的
//        strategyConfig.setTablePrefix("tbl_");  // 设置数据库表的前缀名称,模块名 = 数据库表名-前缀名
        strategyConfig.setRestControllerStyle(true);    // 设置是否启用RESULT风格
        strategyConfig.setVersionFieldName("version");  // 设置乐观锁字段名
        strategyConfig.setLogicDeleteFieldName("deleted");  // 设置逻辑删除字段名称
        strategyConfig.setEntityLombokModel(true);  // 设置是否启用lombak
        autoGenerator.setStrategy(strategyConfig);

        // 执行生成操作
        autoGenerator.execute();
    }
}

3. Effect

insert image description here

Guess you like

Origin blog.csdn.net/weixin_43760048/article/details/125889790