编程知识 cdmana.com

mybatis-plus代码工具类

package cn.cqs.springbootmybatisplus.util;

import com.baomidou.mybatisplus.annotation.DbType;
import com.baomidou.mybatisplus.generator.config.GlobalConfig;
import com.baomidou.mybatisplus.generator.AutoGenerator;
import com.baomidou.mybatisplus.generator.InjectionConfig;
import com.baomidou.mybatisplus.generator.config.DataSourceConfig;
import com.baomidou.mybatisplus.generator.config.PackageConfig;
import com.baomidou.mybatisplus.generator.config.StrategyConfig;
import com.baomidou.mybatisplus.generator.config.rules.NamingStrategy;






/**

  • @discription :
    // * @author: cqs
  • @date: 2020-11-11 2:09
    */

public class GeneratorPlusCodeConfigV3 {

public static void main(String[] args) {
    String packageName = "cn.cqs.springbootmybatisplus";
    boolean serviceNameStartWithI = false;//auth -> UserService, 设置成true: auth -> IUserService
    generateByTables(serviceNameStartWithI, packageName, "saytime", "sys", "user");

    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 database, String... tableNames) {

// 1.设置全局配置global
GlobalConfig config = new GlobalConfig();
// 获取项目根路径
String projectPath = System.getProperty("user.dir");
// 设置生成路径
config.setOutputDir(projectPath + "/src/main/java");
// config.setOutputDir("e:\codeGen"); 设置到磁盘中
// 设置活动记录ActiveRecord
config.setActiveRecord(false);
// 设置作者
config.setAuthor(author);
// 设置文件第二次是二次覆
config.setFileOverride(true);
// 设置缓存cache 二级缓存
config.setEnableCache(false);
// 实体属性 Swagger2 注解
config.setOpen(false);
// 自定义文件命名,注意 %s 会自动填充表实体属性!
config.setMapperName("%sMapper");
config.setXmlName("%sMapper");
// XML ResultMap
config.setBaseResultMap(true);
// XML columList
config.setBaseColumnList(false);
if (!serviceNameStartWithI) {
// 设置service接口前是否加I(service接口命名)
config.setServiceName("%sService");
config.setServiceImplName("%sServiceImpl");
}
String dbUrl = "jdbc:mysql://192.168.1.115:3306/" + database + "?useUnicode=true&characterEncoding=utf8&autoReconnect=true&useSSL=false";
String username = "cqs";
String password = "cqs";
String driverName = "com.mysql.cj.jdbc.Driver";































// 2.设置数据库连接池DataSource
DataSourceConfig dataSourceConfig = new DataSourceConfig();
dataSourceConfig.setDbType(DbType.MYSQL)
.setUrl(dbUrl)
.setUsername(username)
.setPassword(password)
.setDriverName(driverName);
// 3.设置策略Strategy
StrategyConfig strategyConfig = new StrategyConfig();
strategyConfig.setCapitalMode(true);
// 结合了Lombok插件,所以设置为true,如果没有集成Lombok,可以设置为false
strategyConfig.setEntityLombokModel(false);
strategyConfig.setNaming(NamingStrategy.underline_to_camel);
// .setSuperMapperClass("cn.saytime.mapper.BaseMapper")
strategyConfig.setInclude(tableNames);//修改替换成你需要的表名,多个表名传数组
// 4.设置包配置package
PackageConfig packageConfig = new PackageConfig();
//pc.setModuleName(scanner("模块名"));
// 设置包名
packageConfig.setParent(packageName);
packageConfig.setController("web");
// 设置对象实例类
packageConfig.setEntity("model");
// dao接口包名
packageConfig.setMapper("mapper");
// service接口包名
packageConfig.setService("service");
// service实现包名
packageConfig.setServiceImpl("service.impl");
packageConfig.setXml("mybatis.mappers");




























//
// 代码生成器--4.应用自动生成
AutoGenerator mpg = new AutoGenerator();
mpg.setGlobalConfig(config)
.setDataSource(dataSourceConfig)
.setStrategy(strategyConfig)
.setPackageInfo(packageConfig).execute();
}
}







版权声明
本文为[osc_cx8uhydz]所创,转载请带上原文链接,感谢
https://my.oschina.net/u/4343506/blog/4713495

Scroll to Top