激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - Java教程 - 基于Mybatis plus 自動代碼生成器的實現代碼

基于Mybatis plus 自動代碼生成器的實現代碼

2021-04-30 14:30夏天的尾巴ljh Java教程

本文通過實例代碼給大家介紹了基于Mybatis-plus 自動代碼生成器的相關知識,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下

1.使用的是maven項目,添加依賴

?
1
2
3
4
5
6
<!-- mybatis-plus begin -->
   <dependency>
     <groupid>com.baomidou</groupid>
     <artifactid>mybatis-plus</artifactid>
     <version>2.2.0</version>
   </dependency>

還有數據庫的連接

?
1
2
3
4
5
<dependency>
    <groupid>mysql</groupid>
    <artifactid>mysql-connector-java</artifactid>
    <scope>compile</scope>
</dependency>

最后是源碼

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
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.dbtype;
import com.baomidou.mybatisplus.generator.config.rules.namingstrategy;
import org.junit.jupiter.api.test;
/**
 * mybatis-plus 自動生成代碼
 *
 * @author terry
 * @version 1.0
 * @date 2018-05-16 09:35
 */
public class simplemp {
  @test
  public void generatecode() {
    //指定包名
    string packagename = "com.hciot.hhhh";
    //user -> userservice, 設置成true: user -> iuserservice
    boolean servicenamestartwithi = false;
    //指定生成的表名
    string[] tablenames = new string[]{"data_air_sensor_co", "order_product", "relation_device_gateway"};
    generatebytables(servicenamestartwithi, packagename, tablenames);
  }
  /**
   * 根據表自動生成
   *
   * @param servicenamestartwithi 默認為false
   * @param packagename      包名
   * @param tablenames      表名
   * @author terry
   */
  private void generatebytables(boolean servicenamestartwithi, string packagename, string... tablenames) {
    //配置數據源
    datasourceconfig datasourceconfig = getdatasourceconfig();
    // 策略配置
    strategyconfig strategyconfig = getstrategyconfig(tablenames);
    //全局變量配置
    globalconfig globalconfig = getglobalconfig(servicenamestartwithi);
    //包名配置
    packageconfig packageconfig = getpackageconfig(packagename);
    //自動生成
    atuogenerator(datasourceconfig, strategyconfig, globalconfig, packageconfig);
  }
  /**
   * 集成
   *
   * @param datasourceconfig 配置數據源
   * @param strategyconfig  策略配置
   * @param config      全局變量配置
   * @param packageconfig  包名配置
   * @author terry
   */
  private void atuogenerator(datasourceconfig datasourceconfig, strategyconfig strategyconfig, globalconfig config, packageconfig packageconfig) {
    new autogenerator()
        .setglobalconfig(config)
        .setdatasource(datasourceconfig)
        .setstrategy(strategyconfig)
        .setpackageinfo(packageconfig)
        .execute();
  }
  /**
   * 設置包名
   *
   * @param packagename 父路徑包名
   * @return packageconfig 包名配置
   * @author terry
   */
  private packageconfig getpackageconfig(string packagename) {
    return new packageconfig()
        .setparent(packagename)
        .setxml("mapper")
        .setmapper("dao")
        .setcontroller("controller")
        .setentity("entity");
  }
  /**
   * 全局配置
   *
   * @param servicenamestartwithi false
   * @return globalconfig
   * @author terry
   */
  private globalconfig getglobalconfig(boolean servicenamestartwithi) {
    globalconfig globalconfig = new globalconfig();
    globalconfig
        .setbasecolumnlist(true)
        .setbaseresultmap(true)
        .setactiverecord(false)
        .setauthor("terry")
        //設置輸出路徑
        .setoutputdir(getoutputdir("mybatis-plus"))
        .setfileoverride(true);
    if (!servicenamestartwithi) {
      //設置service名
      globalconfig.setservicename("%sservice");
    }
    return globalconfig;
  }
  /**
   * 返回項目路徑
   *
   * @param projectname 項目名
   * @return 項目路徑
   * @author terry
   */
  private string getoutputdir(string projectname) {
    string path = this.getclass().getclassloader().getresource("").getpath();
    int index = path.indexof(projectname);
    return path.substring(1, index) + projectname + "/src/main/java/";
  }
  /**
   * 策略配置
   *
   * @param tablenames 表名
   * @return strategyconfig
   * @author terry
   */
  private strategyconfig getstrategyconfig(string... tablenames) {
    return new strategyconfig()
        // 全局大寫命名 oracle 注意
        .setcapitalmode(true)
        .setentitylombokmodel(false)
        // 表名、字段名、是否使用下劃線命名(默認 false)
        .setdbcolumnunderline(true)
        //從數據庫表到文件的命名策略
        .setnaming(namingstrategy.underline_to_camel)
        //需要生成的的表名,多個表名傳數組
        .setinclude(tablenames);
  }
  /**
   * 配置數據源
   *
   * @return 數據源配置 datasourceconfig
   * @author terry
   */
  private datasourceconfig getdatasourceconfig() {
    string dburl = "jdbc:mysql://localhost:3306/test";
    return new datasourceconfig().setdbtype(dbtype.mysql)
        .seturl(dburl)
        .setusername("root")
        .setpassword("root")
        .setdrivername("com.mysql.jdbc.driver");
  }
  /**
   * 根據表自動生成
   *
   * @param packagename 包名
   * @param tablenames 表名
   * @author terry
   */
  @suppresswarnings("unused")
  private void generatebytables(string packagename, string... tablenames) {
    generatebytables(true, packagename, tablenames);
  }
}

總結

以上所述是小編給大家介紹的基于mybatis plus 自動代碼生成器的實現代碼,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對服務器之家網站的支持!

原文鏈接:https://blog.csdn.net/weixin_41685100/article/details/80342246

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 国产亚洲欧美在线视频 | 99精品国产一区二区三区 | 欧美3p激情一区二区三区猛视频 | 国产免费久久久久 | 精品久久久久久亚洲精品 | hd极品free性xxx护士人 | 孕妇体内谢精满日本电影 | 99re热视频这里只精品 | 私库av在线免费观看 | www.99av| 国产精品伦视频看免费三 | 久久经典国产视频 | 久久草草亚洲蜜桃臀 | 黄色高清免费网站 | xnxx 日本19 | 99精品视频久久精品视频 | 欧美精品在线免费观看 | 亚洲一级片在线观看 | 日韩av电影免费在线观看 | 国产精品久久久久久久久久久久午夜 | 免费的性生活视频 | www.99re1.com| 在线观看免费污视频 | 国产一区二区成人在线 | 在线a免费观看 | 日韩大片在线永久观看视频网站免费 | 九九热免费精品视频 | 视频一区二区中文字幕 | 伦一区二区三区中文字幕v亚洲 | 成人毛片免费看 | 国产999精品久久久久 | 国产一区二区免费在线观看视频 | 草莓视频久久 | 久久伊人精品视频 | 欧美黄色片一级 | 鲁一鲁一鲁一鲁一曰综合网 | 国产欧美亚洲精品a | wwwxxx免费视频 | 久综合| 国产亚洲精品久久久久5区 男人天堂免费 | 黄色大片免费看 |