zoukankan      html  css  js  c++  java
  • 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文件。

  • 相关阅读:
    随机森林算法参数调优
    BAYES和朴素BAYES
    阿里云 金融接口 token PHP
    PHP mysql 按时间分组 表格table 跨度 rowspan
    MySql按周,按月,按日分组统计数据
    PHP 获取今日、昨日、本周、上周、本月的等等常用的起始时间戳和结束时间戳的时间处理类
    thinkphp5 tp5 会话控制 session 登录 退出 检查检验登录 判断是否应该跳转到上次url
    微信 模板消息
    php 腾讯 地图 api 计算 坐标 两点 距离 微信 网页 WebService API
    php添加http头禁止浏览器缓存
  • 原文地址:https://www.cnblogs.com/parrot/p/11429861.html
Copyright © 2011-2022 走看看