package com.uma.hsnn.util; import com.baomidou.mybatisplus.annotation.DbType; import com.baomidou.mybatisplus.core.exceptions.MybatisPlusException; import com.baomidou.mybatisplus.core.toolkit.StringUtils; 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; import java.util.Scanner; public class Generate { public static void main(String[] args) { // 創(chuàng)建generate對象 AutoGenerator autoGenerator = new AutoGenerator(); // 數(shù)據(jù)源 DataSourceConfig dataSourceConfig = new DataSourceConfig(); dataSourceConfig.setDbType(DbType.MYSQL); dataSourceConfig.setUrl("jdbc:mysql://localhost:3306/mysql?useUnicode=true&useSSL=false&characterEncoding=utf8&serverTimezone=UTC"); dataSourceConfig.setDriverName("com.mysql.cj.jdbc.Driver"); dataSourceConfig.setUsername("root"); dataSourceConfig.setPassword("123456"); autoGenerator.setDataSource(dataSourceConfig); // 全局配置 GlobalConfig globalConfig = new GlobalConfig(); globalConfig.setOutputDir(System.getProperty("user.dir") + "/src/main/java"); globalConfig.setOpen(false); globalConfig.setAuthor("uma"); globalConfig.setServiceName("%sService"); // 去掉service的前綴 autoGenerator.setGlobalConfig(globalConfig); // 包信息 PackageConfig packageConfig = new PackageConfig(); packageConfig.setParent("com.framework.twm"); packageConfig.setController("controller"); packageConfig.setService("service"); packageConfig.setServiceImpl("service.impl"); packageConfig.setMapper("mapper"); packageConfig.setXml("mapper.xml"); packageConfig.setEntity("entity"); autoGenerator.setPackageInfo(packageConfig); // 配置策略 StrategyConfig strategyConfig = new StrategyConfig(); strategyConfig.setTablePrefix("mp_"); strategyConfig.setInclude(scanner("表名,多個英文逗號分割").split(",")); strategyConfig.setEntityLombokModel(true); strategyConfig.setNaming(NamingStrategy.underline_to_camel); strategyConfig.setColumnNaming(NamingStrategy.underline_to_camel); // 下劃線轉(zhuǎn)駝峰 autoGenerator.setStrategy(strategyConfig); // 執(zhí)行 autoGenerator.execute(); } /** * 接收用戶輸入的方法 * @param str * @return */ private static String scanner(String str){ Scanner sc = new Scanner(System.in); System.out.println("請輸入"+str+":"); if(sc.hasNext()){ String tableNames = sc.next(); if(StringUtils.isNotBlank(tableNames)){ return tableNames; } } throw new MybatisPlusException("請輸入正確的" + str + "!"); } }
浙公網(wǎng)安備 33010602011771號