SpringBoot使用mybatis-plus+MySQL自动代码生成

**一个能正常运行的springboot项目,项目目录如图
在这里插入图片描述
导入mybatis-plus相关jar包

	<dependency>
		<groupId>com.baomidou</groupId>
		<artifactId>mybatis-plus-boot-starter</artifactId>
		<version>3.0.7.1</version>
	</dependency>
	<dependency>
		<groupId>com.baomidou</groupId>
		<artifactId>mybatis-plus</artifactId>
		<version>3.0.7.1</version>
	</dependency>
	<!-- 代码生成配置 -->
	<dependency>
		<groupId>com.baomidou</groupId>
		<artifactId>mybatis-plus-generator</artifactId>
		<version>3.1.1</version>
	</dependency>
	<dependency>
        <groupId>org.apache.velocity</groupId>
        <artifactId>velocity-engine-core</artifactId>
        <version>2.0</version>
    </dependency>

代码生成器代码,都有详细注解,把项目相关信息和数据库连接信息修改为自己的,就可以直接运行

package com.springboot.shiro.utils;
import com.baomidou.mybatisplus.annotation.DbType;
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.rules.NamingStrategy;
public class Generator {
	public static void main(String[] args) {
        String packageName = "com.springboot.shiro";
        String projectName = "springboot-shiro";
        boolean serviceNameStartWithI = true;//auth -> UserService, 设置成true: auth -> IUserService
        //要生成的数据库表,多表为数组形式,再次运行会覆盖之前的代码
        //不要选择已生成的表
        String[] tableArr= {"customer","sys_permission","sys_role"};
        generateByTables(serviceNameStartWithI, packageName, "author", projectName, tableArr);
        System.out.println("completed...");
    }
	
	/**
     * @param serviceNameStartWithI
     * @param packageName   包名
     * @param author  作者
     * @param database  数据库名
     * @param tableNames 表名
     */
    private static void generateByTables(boolean serviceNameStartWithI, String packageName, String author, String projectName, String... tableNames) {
        GlobalConfig config = new GlobalConfig();
        String dbUrl = "jdbc:mysql://localhost:3306/springboot-shiro?useUnicode=true&characterEncoding=utf8&autoReconnect=true&useSSL=false";
        String username = "root";
        String password = "00000000";
        String driverName = "com.mysql.cj.jdbc.Driver";
        DataSourceConfig dataSourceConfig = new DataSourceConfig();
        dataSourceConfig.setDbType(DbType.MYSQL)
                .setUrl(dbUrl)
                .setUsername(username)
                .setPassword(password)
                .setDriverName(driverName);
        StrategyConfig strategyConfig = new StrategyConfig();
        strategyConfig
        		// 全局大写命名 ORACLE 注意
                .setCapitalMode(true)
                .setEntityLombokModel(false)
                .setNaming(NamingStrategy.underline_to_camel)
                .setInclude(tableNames);//修改替换成你需要的表名,多个表名传数组
        config.setActiveRecord(false)
                .setAuthor(author)
              //设置输出路径
                .setOutputDir(System.getProperty("user.dir")+"/src/main/java/")
                .setFileOverride(true)
                .setEnableCache(false)
                .setBaseResultMap(true)// XML ResultMap
                .setBaseColumnList(true);// XML columList;
        System.out.println("******"+System.getProperty("user.dir"));
        if (!serviceNameStartWithI) {
            config.setServiceName("%sService");
        }
        new AutoGenerator().setGlobalConfig(config)
                .setDataSource(dataSourceConfig)
                .setStrategy(strategyConfig)
                .setPackageInfo(
                        new PackageConfig()
                                .setParent(packageName)
                                .setController("controller")
                                .setEntity("entity")
                                .setMapper("mapper")
                                .setService("service")
                                .setServiceImpl("service.Impl")
                                .setXml("xml")
                ).execute();
    }
}

右键运行之后刷新项目如图
在这里插入图片描述
代码生成完毕**

注意:再次运行会覆盖之前的代码,选择表要慎重

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值