这次接着上次的 手把手教你在 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了