Spring Boot 连接数据库自动生成代码

SpringBoot+MySQL+Mybatis Plus自动生成代码

一、添加依赖

除了SpringBoot自动生成的依赖以外,还需要添加必要的依赖。如mybatis plus 、数据连接池依赖、lombok、代码生成器依赖、模板依赖。

<!--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>

二、代码生成器程序

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();
    }
}

三、效果

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_43760048/article/details/125889790