手把手教你在 IDEA 中创建一个 Spring Cloud Alibaba 工程(二)-----引入MyBatis-Plus并代码生成器

这次接着上次的 手把手教你在 IDEA 中创建一个 Spring Cloud Alibaba 工程(一) 我们继续配置MyBatis-Plus

开始前可以参考官网 代码生成器(新)

我们先在common公共模块 增加一个代码生成器工具类

代码生成器工具类

1.导入依赖

 <!--mybatis-plus -->
    <!-- https://mvnrepository.com/artifact/com.baomidou/mybatis-plus-boot-starter -->
    <dependency>
      <groupId>com.baomidou</groupId>
      <artifactId>mybatis-plus-boot-starter</artifactId>
      <version>3.4.3.4</version>
    </dependency>
    <!--mybatis-plus 生成器 -->
    <!-- https://mvnrepository.com/artifact/com.baomidou/mybatis-plus-generator -->
    <dependency>
      <groupId>com.baomidou</groupId>
      <artifactId>mybatis-plus-generator</artifactId>
      <version>3.5.1</version>
    </dependency>

    <!--velocity模板 mybatis-plus生成器用-->
    <dependency>
      <groupId>org.apache.velocity</groupId>
      <artifactId>velocity-engine-core</artifactId>
      <version>2.3</version>
    </dependency>

    <!--mysql-->
    <dependency>
      <groupId>mysql</groupId>
      <artifactId>mysql-connector-java</artifactId>
      <scope>runtime</scope>
    </dependency>

2.生成器

package com.example.config;


import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.generator.FastAutoGenerator;
import java.util.ArrayList;
import java.util.List;

/**
 * MybatisPlusGenerator
 * <h5>描述:代码生成器</h5>
 */
public class MybatisPlusGenerator {
    public static void main(String[] args) {
            List<String> tables = new ArrayList<>();
            tables.add("user");

            FastAutoGenerator.create("jdbc:mysql://127.0.0.1:3306/test?useUnicode=true&useSSL=false&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&serverTimezone=GMT%2b8","root","123456")
                    .globalConfig(builder -> {
                        builder.author("gg")               //作者
                                .outputDir("D:\\MyBatisPlusGenerator")    //输出路径
                                .enableSwagger()           //开启swagger
                                .commentDate("yyyy-MM-dd")
                                .fileOverride();            //开启覆盖之前生成的文件

                    })
                    .packageConfig(builder -> {
                        builder.parent("com.example")
//                                .moduleName("user")//所属模块
                                .entity("entity.vo.user")//最后的applet是微服务的服务名 别的服务需要修改
                                .service("service")
                                .serviceImpl("serviceImpl")
                                .controller("controller")
                                .mapper("mapper.user")//最后的applet是微服务的服务名 别的服务需要修改
                                .xml("mapper.user");//最后的applet是微服务的服务名 别的服务需要修改
//                                .pathInfo(Collections.singletonMap(OutputFile.mapperXml,System.getProperty("user.dir")+"\\entity\\src\\main\\java\\com\\example\\entity\\mapper"));// 设置mapperXml生成路径
                    })
                    .strategyConfig(builder -> {
                        builder.addInclude(tables)//这里是个list 可以生成多张表
                                .addTablePrefix("app_")//过滤表名前缀
                                .serviceBuilder()
                                .formatServiceFileName("%sService")//service类名,%s适配,根据表名替换
                                .formatServiceImplFileName("%sServiceImpl")//ServiceImpl类名,%s适配,根据表名替换
                                .entityBuilder()
                                .enableLombok()//开启lombok
                                .logicDeleteColumnName("deleted")//说明删除逻辑是哪个字段
                                .enableTableFieldAnnotation()//属性上加上说明注解
                                .controllerBuilder()
                                .formatFileName("%sController")//Controller类名,%s适配,根据表名替换
                                .enableRestStyle()//开启RestController
                                .mapperBuilder()
                                .superClass(BaseMapper.class)//继承哪个父类
                                .formatMapperFileName("%sMapper")//Mapper类名,%s适配,根据表名替换
                                .enableMapperAnnotation()// @mapper开启
                                .formatXmlFileName("%sMapper");//XMl名称
                    })
//                    .templateEngine(new FreemarkerTemplateEngine()) // 使用Freemarker引擎模板,默认的是Velocity引擎模板
                    .execute();
        }
    }

以上代码自己可以根据实际的项目目录进行修改

3.执行看效果

在这里插入图片描述
生成成功,把对应的文件复制到项目里的对应位置即可

增加datasource 配置

在exam和user 等服务配置文件中加上

  	spring:
	  datasource:
	    type: com.zaxxer.hikari.HikariDataSource
	    url: jdbc:mysql://192.168.31.101:3306/test?useUnicode=true&useSSL=false&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&serverTimezone=GMT%2b8
	    username: root
	    password: 123456
	    hikari:
	      connection-test-query: SELECT 1
	      driver-class-name: com.mysql.jdbc.Driver
	      connection-timeout: 60000
	      minimum-idle: 5
	      maximum-pool-size: 15
	      idle-timeout: 600000
	      max-lifetime: 1200000
	      auto-commit: true

启动项目
在这里插入图片描述
启动成功 就可以愉快的玩耍MyBatis-Plus了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值