mybatis-plus-genetrator逆向工程生成工具+分页插件pageHelper + 集成SpringBoot

github项目地址

使用很简单,只需要配置四点:

1.需要生成的表

2.作者名字

3.数据库连接

4.定义自己的包结构  (图中已经标注了对应关系,直接生成也行,生成后改一下package)

配置好后直接执行main方法即可。

pom.xml和工具类(MpGeneratorUtil.java)代码都在下面,只要有这两个文件就可以运行了,里面的注释也写的很清楚,喜欢的可以拿到自己的其他项目去用,别忘了点个赞,谢谢~

mybatis-plus-genetrator逆向工程生成工具+分页插件pageHelper + 集成SpringBoot_第1张图片

pom.xml


        
        
            org.springframework.boot
            spring-boot-starter-web
            2.3.5.RELEASE
        
        
            mysql
            mysql-connector-java
            8.0.22
            
            
        
        
        
            com.baomidou
            mybatis-plus-generator
            3.4.1
        
        
        
            org.apache.velocity
            velocity-engine-core
            2.3
        
        
        
            org.slf4j
            slf4j-api
            1.7.25
        
        
            org.slf4j
            slf4j-log4j12
            1.7.21
        
    

MpGeneratorUtil.java

package com.shixin;

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.NamingStrategy;

import java.io.File;
import java.io.IOException;

/**
 * @Description mybatis-plus配置类
 * @Author shixin
 * @Date: 2021/6/20 3:06
 */
public class MpGeneratorUtil {

    //对哪些表进行自动生成 , TABLENAME = {} 会对所有的表都进行生成
    private static String[] TABLENAME = {"test1","test2"};

    //作者信息,会自动添加到文件内
    private static String AUTHOR = "shixin";

    //数据库连接
    private static String DRIVENAME = "com.mysql.cj.jdbc.Driver";                   //驱动,如果版本低于8.0,首先需要更换jar包,此处使用com.mysql.jdbc.Driver
    private static String DATABASE = "jdbc:mysql://localhost:3306/tablename";       //数据库连接url
    private static String USERNAME = "root";                                        //账号
    private static String PASSWORD = "root";                                        //密码

    //对应的包名,第一个为父级包名,其余为子级包名,可以根据需求更改。
    //如下配置会生成 com.shixin.mapper  com.shixin.service  com.shixin.controller ...
    //子包也可以为  xx.xx 格式来代表生成多层文件夹
    private static String PARENT_PACKAGE = "com.shixin";            //基础包
    private static String CONTROLLER_FOLERNAME = "controller";      //controller
    private static String MAPPER_FOLERNAME = "mapper";              //Mapper类Java文件 ,也可以叫做dao层文件
    private static String XML_FOLERNAME = "mapperxml";              //XML文件
    private static String ENTITY_FOLERNAME = "pojo";                //pojo类文件
    private static String SERVICE_FOLERNAME = "service";            //service

    public static void main(String[] args) throws IOException {

        File directory = new File("");//参数为空
        String courseFile = directory.getCanonicalPath();

        //1. 全局配置
        GlobalConfig config = new GlobalConfig();

        config.setActiveRecord(true) // 是否支持AR模式
                .setAuthor(AUTHOR) // 作者
                .setOutputDir(courseFile+"\\src\\main\\java") // 生成路径
                .setFileOverride(true)  // 文件覆盖
                .setIdType(IdType.AUTO) // 主键策略
                .setServiceName("%sService")  // 设置生成的service接口的名字的首字母是否为I
                // IEmployeeService
                .setBaseResultMap(true)//生成基本的resultMap
                .setBaseColumnList(true);//生成基本的SQL片段

        //2. 数据源配置
        DataSourceConfig dsConfig = new DataSourceConfig();
        dsConfig.setDbType(DbType.MYSQL)  // 设置数据库类型
                .setDriverName(DRIVENAME)
                .setUrl(DATABASE)
                .setUsername(USERNAME)
                .setPassword(PASSWORD);


        //3. 策略配置globalConfiguration中
        StrategyConfig stConfig = new StrategyConfig();
        stConfig.setCapitalMode(true) //全局大写命名
                .setNaming(NamingStrategy.underline_to_camel) // 数据库表映射到实体的命名策略:这里使用的是驼峰转换
                .setInclude(TABLENAME);  // 生成的表

        //4. 包名策略配置
        PackageConfig pkConfig = new PackageConfig();
        pkConfig.setParent(PARENT_PACKAGE)
                .setMapper(MAPPER_FOLERNAME)//dao
                .setService(SERVICE_FOLERNAME)//servcie
                .setController(CONTROLLER_FOLERNAME)//controller
                .setEntity(ENTITY_FOLERNAME)
                .setXml(XML_FOLERNAME);//mapper.xml

        //5. 整合配置
        AutoGenerator ag = new AutoGenerator();
        ag.setGlobalConfig(config)
                .setDataSource(dsConfig)
                .setStrategy(stConfig)
                .setPackageInfo(pkConfig);

        //6. 执行
        ag.execute();
    }
}

第二步,集成,做个笔记,以防忘记:

①添加依赖:

        
        
            com.baomidou
            mybatis-plus-boot-starter
            3.4.2
        
        
        
            com.baomidou
            mybatis-plus-generator
            3.4.1
        

②随后将相关文件复制粘贴进项目

③修改配置文件:

mybatis-plus:
  type-aliases-package: com.shixin.pojo        #对应的pojo包
  mapper-locations: classpath:mapper/*.xml     #xml文件一般都放在resources/mapper下的,根据自己需求修改
  configuration:
    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl   #日志打印

④启动类添加注解:

@SpringBootApplication
@MapperScan(basePackages = {"com.shixin.mapper"})
public class ApiApplication {

    public static void main(String[] args) {
        SpringApplication.run(ApiApplication.class,args);
    }
}

扫描的是 @MapperScan注解扫描的是com.shixin.mapper下的所有XxxMapper.java文件

⑤启动~

----------------------------

分页插件的配置:

1.添加pom依赖:

        
        
            com.github.pagehelper
            pagehelper-spring-boot-starter
            1.3.1
        

2.修改配置文件application.yml

#分页插件配置
pagehelper:
  helper-dialect: mysql
  support-methods-arguments: true

3.使用

        PageHelper.startPage(page, pageSize);
        List list = myMapper.queryList();
        return list ;

需要返回什么可以根据需求自己构造,如由Mybatis提供的

PageInfo pageList = new PageInfo<>(list);

mybatis-plus-genetrator逆向工程生成工具+分页插件pageHelper + 集成SpringBoot_第2张图片

你可能感兴趣的:(组件集成与安装,mybatis,springboot)