欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

mybatis_plus插件——生成器

程序员文章站 2022-04-15 15:45:04
最近在学习mybatis框架,虽然已经简化了一些Dao代码,但是还想更上一层楼吗?不再被基本的pojo层,controller层,service层,dao层基本重复代码所困恼吗?这里,让我们来学习一下mybatis plus生成器吧,实现mybatis的逆向工程,最好是以springboot结合。 ......

最近在学习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 }

二、执行结果:

mybatis_plus插件——生成器

一键构成三层架构:controller层、service层,dao层,以及mybatis.xml文件。