1. 程式人生 > 其它 >mybatis-plus自動生成程式碼

mybatis-plus自動生成程式碼

package com.example.demo.utils;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.core.exceptions.MybatisPlusException;
import com.baomidou.mybatisplus.generator.AutoGenerator;
import com.baomidou.mybatisplus.generator.config.*;
import com.baomidou.mybatisplus.generator.config.rules.NamingStrategy;
import org.apache.commons.lang.StringUtils; import java.util.Scanner; /** * @author: Mr. * @date: 2021/8/5 12:54 */ public class MySqlGenerator { /** * 讀取控制檯內容 */ // public static String scanner(String tip){ // Scanner scanner = new Scanner(System.in); // System.out.println("請輸入" + tip + ":");
// if (scanner.hasNext()){ // String ipt = scanner.next(); // if (StringUtils.isNotBlank(ipt)){ // return ipt; // } // } // throw new MybatisPlusException("請輸入正確的:"+tip+"!"); // } public static void main(String[] args) { // 程式碼生成器 AutoGenerator mpg = new
AutoGenerator(); // 全域性配置 GlobalConfig gc = new GlobalConfig(); String projectPath = System.getProperty("user.dir"); gc.setOutputDir(projectPath + "/src/main/java"); gc.setActiveRecord(true); gc.setAuthor("Mrs.Liao"); //設定作者 gc.setIdType(IdType.AUTO); gc.setOpen(false); gc.setFileOverride(true); //第二次生成會把第一次生成的覆蓋掉 gc.setServiceName("%sService"); //生成的service介面名字首字母是否為I,這樣設定就沒有 gc.setBaseResultMap(true); //基本的欄位對映 mpg.setGlobalConfig(gc); // 資料來源配置 DataSourceConfig dsc = new DataSourceConfig(); dsc.setUrl("jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai"); dsc.setDriverName("com.mysql.cj.jdbc.Driver"); dsc.setUsername("root"); dsc.setPassword("root"); mpg.setDataSource(dsc); // 包配置 PackageConfig pc = new PackageConfig(); pc.setParent("com.oeandn.hanwha"); // pc.setModuleName(scanner("模組名")); pc.setMapper("mapper"); pc.setService("service"); pc.setController("controller"); pc.setEntity("entity"); mpg.setPackageInfo(pc); // 4、策略配置 StrategyConfig strategy = new StrategyConfig(); strategy.setCapitalMode(true); // 全域性大寫命名 strategy.setNaming(NamingStrategy.underline_to_camel); // 資料庫欄位下劃線轉駝峰命令策略 strategy.setColumnNaming(NamingStrategy.underline_to_camel); strategy.setEntityTableFieldAnnotationEnable(true); strategy.setRestControllerStyle(true); String tables = "table,table2"; strategy.setInclude(tables.split(",")); mpg.setStrategy(strategy); //5、執行 mpg.execute(); } }