• 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文件。

  • 相关阅读:
    JMS基本概念
    SSH项目整合
    SSH框架搭建问题总结
    web项目中classPath指的是哪里?
    web项目中配置文件的加载顺序
    分布式电商系统项目总结
    关于javaweb中图片的存储问题
    商品详情页面的显示
    利用solr实现商品的搜索功能
    SSM框架的搭建与测试
  • 原文地址:https://www.cnblogs.com/parrot/p/11429861.html
Copyright © 2020-2023  润新知