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

github项目地址

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

1.需要生成的表

2.作者名字

3.数据库连接

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

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

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

pom.xml

<dependencies>
        <!--加上这个生成的类就不会报错-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
            <version>2.3.5.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>8.0.22</version>
            <!--只在运行时生效,其他情况不可引用-->
            <!--<scope>runtime</scope>-->
        </dependency>
        <!-- mybatis-plus逆向工程插件-->
        <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.3</version>
        </dependency>
        <!--日志文件功能-->
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-api</artifactId>
            <version>1.7.25</version>
        </dependency>
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-log4j12</artifactId>
            <version>1.7.21</version>
        </dependency>
    </dependencies>

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();
    }
}

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

①添加依赖:

        <!-- Mybatis plus 相关注解在里面-->
        <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatis-plus-boot-starter</artifactId>
            <version>3.4.2</version>
        </dependency>
        <!-- 利用此jar包生成的文件 当然需要用此jar包来读取解析 -->
        <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatis-plus-generator</artifactId>
            <version>3.4.1</version>
        </dependency>

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

③修改配置文件:

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依赖:

        <!--Mybatis分页插件-->
        <dependency>
            <groupId>com.github.pagehelper</groupId>
            <artifactId>pagehelper-spring-boot-starter</artifactId>
            <version>1.3.1</version>
        </dependency>

2.修改配置文件application.yml

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

3.使用

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

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

PageInfo<?> pageList = new PageInfo<>(list);

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值