一、创建guli_parent的子模块service
1. 子模块service的类型选择maven
模块名称为service
2. 添加模块类型是POM
在<artifactId> 节点后面添加 pom类型
<artifactId>service</artifactId>
<packaging>pom</packaging>
3. 添加项目需要的依赖
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
</dependency>
<!-- MybatisPlus代码生成器依赖spring-boot-starter-web,mybatis-plus-generator,velocity-engine-core三个插件-->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-generator</artifactId>
</dependency>
<dependency>
<groupId>org.apache.velocity</groupId>
<artifactId>velocity-engine-core</artifactId>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid-spring-boot-starter</artifactId>
</dependency>
</dependencies>
二、搭建service_edu二级子模块
1. 在父工程service模块下面创建子模块service_edu,maven工程
2. 模块类型是默认的jar
三、MybatisPlus代码生成器
1. pom依赖,mybatisPlus,generator,velocity三个都需要
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>${mybatis-plus.version}</version>
</dependency>
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-generator</artifactId>
<version>${mybatis-plus.version}</version>
</dependency>
<dependency>
<groupId>org.apache.velocity</groupId>
<artifactId>velocity-engine-core</artifactId>
<version>${velocity.version}</version>
</dependency>
2. 代码生成器
代码生成器可以快速的根据表结构生成实体类,Mapper层,service层,controller层
public void run() {
FastAutoGenerator.create("jdbc:mysql://localhost:3306/guli?serverTimezone=UTC", "root","yqqlm@gs1cl")
.globalConfig(builder -> { //全局配置
builder.author("mca") //设置作者
.enableSwagger() //开启swagger模式
//.fileOverride() //覆盖已生成文件
.dateType(DateType.ONLY_DATE) //定义生成的实体类中日期类型
.outputDir("F:\\project\\workspace\\guli_parent\\service\\service_edu" + "/src/main/java");//包路径
})
.packageConfig(builder -> { //包配置
builder.parent("com.atguigu") //设置父包名
.moduleName("eduservice") //设置父包模块名
.controller("controller")
.entity("entity")
.service("service")
.serviceImpl("service.impl")
.mapper("mapper")
.xml("mapper")
.pathInfo(Collections.singletonMap(OutputFile.mapperXml,
"F:\\project\\workspace\\guli_parent\\service\\service_edu\\src\\main\\resources\\mapper\\"));//设置mapperxml生成策略
})
.strategyConfig(builder -> { //策略配置
builder.mapperBuilder().enableMapperAnnotation().build();
builder.addInclude("edu_teacher") //设置需要生成的表名列表
//.addTablePrefix()//过滤表名前缀,比如p_test,我们生成的实体类名就是test
.serviceBuilder() //service策略配置
.formatServiceFileName("%sService") //去掉Service接口的首字母I
.formatServiceImplFileName("%sServiceImpl")
.entityBuilder() //实体类策略配置
.enableLombok() //开启lombok
.logicDeleteColumnName("is_deleted") //说明逻辑删除的是哪个字段
.enableTableFieldAnnotation() //属性加上说明注解
.controllerBuilder() //controller配置策略
.enableHyphenStyle() // 映射路径使用连字符格式,而不是驼峰
.formatFileName("%sController")
.enableRestStyle() //开启RestController
.mapperBuilder() //mapper配置策略
.superClass(BaseMapper.class) //继承哪个父类
.formatMapperFileName("%sMapper")
.enableMapperAnnotation() //开启@Mapper注解
.formatXmlFileName("%sMapper");
}).execute();
}
四、手动创建module:edu_service
4.1 controller层
@RequestMapping("/eduservice/teacher")
@RestController
public class EduTeacherController {
}
4.2 service层
public interface EduTeacherService extends IService<EduTeacher> {
}
service.impl
@Service
public class EduTeacherServiceImpl extends ServiceImpl<EduTeacherMapper,EduTeacher> implements EduTeacherService{
}
4.3 mapper层
@Mapper
public interface EduTeacherMapper extends BaseMapper<EduTeacher> {
}
五、application.yml配置
server:
port: 8001
spring:
application:
name: eduservice
datasource:
druid:
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://localhost:3306/guli?serverTimezone=Asia/Shanghai
username: root
password: root
#返回json统一全局时间格式
jackson:
date-format: yyyy-MM-dd HH:mm:ss
time-zone: GMT+8
mybatis-plus:
configuration:
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl