【Spring Boot】Mybatis Plus 2.X 自動生成代碼配置

【引言】

在前面的博客《知道Mybatis,知道Mybatis-Plus麼?》一文中,對Mybatis-Plus做了一個簡單的認識及demo示例,Mybatis的增強版,確實很強大,更加簡單高效。其中有提到一個強大的功能之一是內置代碼生成器,也是本篇博客的主要內容,下面主要總結下demo搭建的過程。

【demo】

1. 新建項目spring-boot-mybatis-plus-generator
在這裏插入圖片描述

2. 引入依賴

<!-- mybatisplus與springboot整合 -->
		<dependency>
			<groupId>com.baomidou</groupId>
			<artifactId>mybatisplus-spring-boot-starter</artifactId>
			<version>1.0.5</version>
		</dependency>
		<!-- MP 核心庫 -->
		<dependency>
			<groupId>com.baomidou</groupId>
			<artifactId>mybatis-plus</artifactId>
			<version>2.1.8</version>
		</dependency>
		<dependency>
			<groupId>org.mybatis.spring.boot</groupId>
			<artifactId>mybatis-spring-boot-starter</artifactId>
			<version>1.3.2</version>
		</dependency>
		<!-- 模板引擎 代碼生成 -->
		<dependency>
			<groupId>org.apache.velocity</groupId>
			<artifactId>velocity</artifactId>
			<version>1.7</version>
		</dependency>

3. 代碼生成核心類

public class CodeGeneration {
 
    public static void main(String[] args) {
        AutoGenerator mpg = new AutoGenerator();
        // 全局配置
        GlobalConfig gc = new GlobalConfig();
        //輸出文件路徑
        gc.setOutputDir("D://"); 
        gc.setFileOverride(true);
        // 不需要ActiveRecord特性的請改爲false
        gc.setActiveRecord(false);
        // XML 二級緩存
        gc.setEnableCache(false);
        // XML ResultMap
        gc.setBaseResultMap(true);
        // XML columList
        gc.setBaseColumnList(false);
        // 作者
        gc.setAuthor("huzhiting");
 
        // 自定義文件命名,注意 %s 會自動填充表實體屬性!
        gc.setControllerName("%sController");
        gc.setServiceName("%sService");
        gc.setServiceImplName("%sServiceImpl");
        gc.setMapperName("%sMapper");
        gc.setXmlName("%sMapper");
        mpg.setGlobalConfig(gc);
 
        // 數據源配置
        DataSourceConfig dsc = new DataSourceConfig();
        dsc.setDbType(DbType.MYSQL);
        dsc.setDriverName("com.mysql.cj.jdbc.Driver");
        dsc.setUsername("root");
        dsc.setPassword("111111");
        dsc.setUrl("jdbc:mysql://127.0.0.1:3306/demo");
        mpg.setDataSource(dsc);
 
        // 策略配置
        StrategyConfig strategy = new StrategyConfig();
        // 表前綴
       // strategy.setTablePrefix(new String[] { "sys_" });
       // 表名生成策略
        strategy.setNaming(NamingStrategy.underline_to_camel);
        // 需要生成的表
        strategy.setInclude(new String[] { "user" }); 
 
        strategy.setSuperServiceClass(null);
        strategy.setSuperServiceImplClass(null);
        strategy.setSuperMapperClass(null);
 
        mpg.setStrategy(strategy);
 
        // 包配置
        PackageConfig pc = new PackageConfig();
        pc.setParent("com.example.demo");
        pc.setController("controller");
        pc.setService("service");
        pc.setServiceImpl("service.impl");
        pc.setMapper("dao");
        pc.setEntity("model");
        pc.setXml("xml");
        mpg.setPackageInfo(pc);
 
        // 執行生成
        mpg.execute();
 
    }
 
}

通過以上幾步簡單的配置,自動生成代碼就可以實現了。在demo中,寫了個查詢所有用戶的接口測試了下,是沒有問題的。

@Test
	public void testQueryAllUsers() throws Exception {
		List<User> userList=userService.queryAllUsers();
		if(userList!=null && !userList.isEmpty()){
			for (User user:userList) {
				System.out.println("查詢用戶結果:" + user.getId() + "/ " + user.getName());
			}
		}
	}

在這裏插入圖片描述
demo已上傳到github,地址:https://github.com/huzhiting/spring-boot-mybatis-plus-generator

【總結】

技術的路不好走,有時間就學習學習。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章