mybatis_plus插件——生成器


最近在學習mybatis框架,雖然已經簡化了一些Dao代碼,但是還想更上一層樓嗎?不再被基本的pojo層,controller層,service層,dao層基本重復代碼所困惱嗎?這里,讓我們來學習一下mybatis plus生成器吧,實現mybatis的逆向工程,最好是以springboot結合。

一、導入maven依賴,注意版本,以及編寫生成器主類

<!--springboot使用mybatis-plus,所需要的2個依賴jar包-->
    <dependency>
      <groupId>com.baomidou</groupId>
      <artifactId>mybatis-plus</artifactId>
      <version>2.1.9</version>
    </dependency>
    <dependency>
      <!--mybatis自動裝配必須要-->
      <groupId>org.mybatis.spring.boot</groupId>
      <artifactId>mybatis-spring-boot-autoconfigure</artifactId>
      <version>1.3.2</version>
    </dependency>
 1 package com.ljg.generator;
 2 
 3 
 4 import com.baomidou.mybatisplus.enums.IdType;
 5 import com.baomidou.mybatisplus.generator.AutoGenerator;
 6 import com.baomidou.mybatisplus.generator.config.DataSourceConfig;
 7 import com.baomidou.mybatisplus.generator.config.GlobalConfig;
 8 import com.baomidou.mybatisplus.generator.config.PackageConfig;
 9 import com.baomidou.mybatisplus.generator.config.StrategyConfig;
10 import com.baomidou.mybatisplus.generator.config.rules.DbType;
11 import com.baomidou.mybatisplus.generator.config.rules.NamingStrategy;
12 
13 import java.sql.SQLException;
14 
15 public class MyBatisPlusGenerator {
16 
17     public static void main(String[] args) throws SQLException {
18         String tableName="user";//表名,記得創建號數據庫表哦
19         AutoGenerator mpg = new AutoGenerator();
20         // 選擇 freemarker 引擎,默認 Veloctiy
21         //1. 全局配置
22         GlobalConfig config = new GlobalConfig();
23         config.setActiveRecord(true) // 是否支持AR模式
24                 .setAuthor("Ljg") // 作者
25                 .setEnableCache(false)// XML 二級緩存
26                 .setOutputDir("D:\\IdeaProject\\mybatis_plus_demo\\src\\main\\java") // 生成路徑
27                 .setFileOverride(true)  // 文件覆蓋
28                 .setIdType(IdType.AUTO) // 主鍵策略
29                 .setBaseResultMap(true)//生成基本的resultMap
30                 .setBaseColumnList(true)//生成基本的SQL片段
31         /* 自定義文件命名,注意 %s 會自動填充表實體屬性! */
32                  .setMapperName("I%sDao")
33                  .setXmlName("I%sDao")
34                  .setServiceName("I%sService")
35                  .setServiceImplName("%sServiceImpl")
36                  .setControllerName("%sController");
37                  mpg.setGlobalConfig(config);
38 
39         //2. 數據源配置
40         DataSourceConfig dsConfig = new DataSourceConfig();
41         dsConfig.setDbType(DbType.MYSQL)  // 設置數據庫類型
42                 .setDriverName("com.mysql.jdbc.Driver")
43                 .setUrl("jdbc:mysql://172.1.10.24/zz?useUnicode=true&characterEncoding=utf-8")
44                 .setUsername("root")
45                 .setPassword("123456");
46                 mpg.setDataSource(dsConfig);
47 
48         //3. 策略配置globalConfiguration中
49         StrategyConfig stConfig = new StrategyConfig();
50         stConfig.setCapitalMode(true) //全局大寫命名
51                 .setDbColumnUnderline(true)  // 指定表名 字段名是否使用下划線
52                 .setNaming(NamingStrategy.underline_to_camel) // 數據庫表映射到實體的命名策略
53                 //.setTablePrefix("tbl_")//表名前綴
54                 .setInclude(tableName);  // 需要生成的表
55 
56         //4. 包名策略配置
57         PackageConfig pkConfig = new PackageConfig();
58         pkConfig.setParent("com.ljg")
59                 .setMapper("dao")//dao
60                 .setService("service")//servcie
61                 .setController("controller")//controller
62                 .setEntity("po")
63                  .setXml("mappper");//配置文件mapper/xml
64 
65         //5. 整合配置
66         AutoGenerator ag = new AutoGenerator();
67         ag.setGlobalConfig(config)
68                 .setDataSource(dsConfig)
69                 .setStrategy(stConfig)
70                 .setPackageInfo(pkConfig);
71 
72         //6. 執行
73         ag.execute();
74     }
75 }

二、執行結果:

一鍵構成三層架構:controller層、service層,dao層,以及mybatis.xml文件。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM