mybatisplus代码生成器

  |   0 评论   |   0 浏览

mybatisplus代码生成器

1.创建Springboot项目

创建application.properties

 # 服务端口
 server.port=8001
 # 服务名
 spring.application.name=service-edu
 
 # 环境设置:dev、test、prod
 spring.profiles.active=dev
 
 # mysql数据库连接
 spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
 spring.datasource.url=jdbc:mysql://localhost:3306/guli?serverTimezone=GMT%2B8&characterEncoding=utf-8
 spring.datasource.username=root
 spring.datasource.password=root
 
 #mybatis日志
 mybatis-plus.configuration.log-impl=org.apache.ibatis.logging.stdout.StdOutImpl
 mybatis-plus.mapper-locations=classpath:com/llp/mybatisplusgenerator/mapper/xml/*.xml

2.引入依赖

mybatisplus代码生成只需引入mysql、velocity(模板引擎)、mybatisplus三个依赖即可

我这里用到了lombok所有也引入了lombok的依赖

     <dependency>
             <groupId>org.springframework.boot</groupId>
             <artifactId>spring-boot-starter-web</artifactId>
         </dependency>
         
         <!--引入mybatisplus-->
         <dependency>
             <groupId>com.baomidou</groupId>
             <artifactId>mybatis-plus-boot-starter</artifactId>
             <version>3.4.1</version>
         </dependency>
         
         <!--代码生成-->
         <dependency>
             <groupId>com.baomidou</groupId>
             <artifactId>mybatis-plus-generator</artifactId>
             <version>3.4.1</version>
         </dependency>
     
         <!--模板引擎-->
         <dependency>
             <groupId>org.apache.velocity</groupId>
             <artifactId>velocity-engine-core</artifactId>
             <version>2.0</version>
         </dependency>
         
         <!--引入mysql依赖-->
         <dependency>
             <groupId>mysql</groupId>
             <artifactId>mysql-connector-java</artifactId>
             <scope>runtime</scope>
         </dependency>
         <dependency>
             <groupId>org.projectlombok</groupId>
             <artifactId>lombok</artifactId>
             <optional>true</optional>
         </dependency>

3.工具类

 import com.baomidou.mybatisplus.annotation.DbType;
 import com.baomidou.mybatisplus.annotation.IdType;
 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.DateType;
 import com.baomidou.mybatisplus.generator.config.rules.NamingStrategy;
 
 public class getCode {
 
     public static void main(String[] args) {
         // 1、创建代码生成器
         AutoGenerator mpg = new AutoGenerator();
 
         // 2、全局配置
         GlobalConfig gc = new GlobalConfig();
         //获取到项目所在的绝对路径
         String projectPath = System.getProperty("user.dir");
         System.out.println("projectPath:-------------------"+projectPath);
         //有时候projectPath获取项目路径会出现一些问题,我们可以把projectPath部分手动设置为绝对路径来避免
         gc.setOutputDir(projectPath + "/src/main/java");//项目路径
         gc.setAuthor("llp");//作者
         gc.setOpen(false); //生成后是否打开资源管理器
         gc.setFileOverride(false); //重新生成时文件是否覆盖
         /*
          * mp生成service层代码,默认接口名称第一个字母有 I
          * UcenterService
          * */
         gc.setServiceName("%sService"); //去掉Service接口的首字母I
         gc.setIdType(IdType.ID_WORKER); //主键策略
         gc.setDateType(DateType.ONLY_DATE);//定义生成的实体类中日期类型
         gc.setSwagger2(true);//开启Swagger2模式
         mpg.setGlobalConfig(gc);
 
         // 3、数据源配置
         DataSourceConfig dsc = new DataSourceConfig();
         dsc.setUrl("jdbc:mysql://localhost:3306/guli?serverTimezone=GMT%2B8&characterEncoding=utf-8");
         dsc.setDriverName("com.mysql.cj.jdbc.Driver");
         dsc.setUsername("root");
         dsc.setPassword("root");
         dsc.setDbType(DbType.MYSQL);
         mpg.setDataSource(dsc);
 
         // 4、包配置
         PackageConfig pc = new PackageConfig();
         //com.llp.mybatisplusgenerator
         //com.llp.mybatisplusgenerator.controller
         //com.llp.mybatisplusgenerator.entity
         //com.llp.mybatisplusgenerator.service
         //com.llp.mybatisplusgenerator.mapper
         pc.setParent("com.llp.mybatisplusgenerator");
         pc.setModuleName("eduservice"); //模块名
         pc.setController("controller");
         pc.setEntity("entity");
         pc.setService("service");
         pc.setMapper("mapper");
         mpg.setPackageInfo(pc);
 
         // 5、策略配置
         StrategyConfig strategy = new StrategyConfig();
         strategy.setInclude("edu_teacher"); //表名
         strategy.setNaming(NamingStrategy.underline_to_camel);//数据库表映射到实体的命名策略
         strategy.setTablePrefix(pc.getModuleName() + "_"); //生成实体时去掉表前缀
 
         strategy.setColumnNaming(NamingStrategy.underline_to_camel);//数据库表字段映射到实体的命名策略
         strategy.setEntityLombokModel(true); // lombok 模型 @Accessors(chain = true) setter链式操作
 
         strategy.setRestControllerStyle(true); //restful api风格控制器
         strategy.setControllerMappingHyphenStyle(true); //url中驼峰转连字符
 
         mpg.setStrategy(strategy);
 
         // 6、执行
         mpg.execute();
     }
 
 }

标题:mybatisplus代码生成器
作者:llp
地址:https://blog.llp1110.cn/articles/2022/01/12/1642000379214.html