velocity和generator结合自动生成实体类、Mapper、Service、ServiceImpl、Controller
1、导入pom.xml
<!-- generator 自动生成器配置 --> <dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-generator</artifactId> <version>3.3.1</version> </dependency> <!-- mybatis-plus-generator 根据 velocity来生成实体类模板的--> <dependency> <groupId>org.apache.velocity</groupId> <artifactId>velocity</artifactId> <version>1.7</version> </dependency>
2、建类创建main函数
public static void main(String[] args) { //创建generator对象 AutoGenerator autoGenerator = new AutoGenerator(); //数据源 DataSourceConfig dataSourceConfig = new DataSourceConfig(); //数据库类型 dataSourceConfig.setDbType(DbType.MYSQL); //数据库地址 dataSourceConfig.setUrl("jdbc:mysql://127.0.0.1:3306/jdbc?useUnicode=true&characterEncoding=UTF-8&serverTimezone=GMT"); //数据库账号 dataSourceConfig.setUsername("root"); //数据库密码 dataSourceConfig.setPassword("123456"); //数据库驱动 dataSourceConfig.setDriverName("com.mysql.cj.jdbc.Driver"); autoGenerator.setDataSource(dataSourceConfig); //全局配置 GlobalConfig globalConfig = new GlobalConfig(); //获取要生成的文件根目录 globalConfig.setOutputDir(System.getProperty("user.dir") + "/src/main/java"); //生成后不打开目录文件夹 globalConfig.setOpen(false); //设置坐着 globalConfig.setAuthor("Meng"); //设置生成的Service名字 globalConfig.setServiceName("%sService"); autoGenerator.setGlobalConfig(globalConfig); //包信息 PackageConfig packageConfig = new PackageConfig(); //设置要生成的包路径 packageConfig.setParent("com.springboot.mybatisplus"); //设置生成在哪一个文件夹下面 packageConfig.setModuleName("generator"); //设置Controller文件夹名 packageConfig.setController("controller"); //设置Service文件夹名 packageConfig.setService("service"); //设置Service的Impl 层文件夹名 packageConfig.setServiceImpl("service.impl"); //设置Mapper文件夹名 packageConfig.setMapper("mapper"); //设置Entity文件夹名 packageConfig.setEntity("entity"); autoGenerator.setPackageInfo(packageConfig); //配置策略 StrategyConfig strategyConfig = new StrategyConfig(); //填写表名,可多填;设置需要哪几种表生成;如果不设置就会把数据库里面的所有表都自动生成对应的类。。。。 strategyConfig.setInclude("user"); //设置自动生成Lombok注解 ;需要在pom.xml中引入Lombok strategyConfig.setEntityLombokModel(true); //设置下划线自动转驼峰命名 strategyConfig.setNaming(NamingStrategy.underline_to_camel); strategyConfig.setColumnNaming(NamingStrategy.underline_to_camel); autoGenerator.setStrategy(strategyConfig); //关键:执行配置信息,生成文件 autoGenerator.execute(); }