下面的模板适用于mybatis-plus 的项目中
pojo类
##面的模板适用于mybatis-plus 的项目中
##导入宏定义
$!{define.vm}
##保存文件(宏定义)
#save("/pojo", ".java")
##包路径(宏定义)
#setPackageSuffix("pojo")
##自动导入包(全局变量)
$!{autoImport.vm}
import java.io.Serializable;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
##表注释(宏定义)
/**
* $!{tableInfo.comment}($!{tableInfo.name})表实体类
*
* @author xs.s
* @date $!time.currTime()
*/
@SuppressWarnings("serial")
@Data
@AllArgsConstructor
@NoArgsConstructor
@TableName("$!{tableInfo.obj.name}")
public class $!{tableInfo.name} implements Serializable {
private static final long serialVersionUID = $!tool.serial();
#foreach($column in $tableInfo.pkColumn)
#if(${column.comment})/**
* ${column.comment}
*/#end
@TableId
@ApiModelProperty("$column.comment")
private $!{tool.getClsNameByFullName($column.type)} $!{column.name};
#end
#foreach($column in $tableInfo.otherColumn)
#if(${column.comment})//${column.comment}#end
@ApiModelProperty("$column.comment")
private $!{tool.getClsNameByFullName($column.type)} $!{column.name};
#end
}
Mapper
##导入宏定义
$!{define.vm}
##设置表后缀(宏定义)
#setTableSuffix("Mapper")
##保存文件(宏定义)
#save("/mapper", "Mapper.java")
##包路径(宏定义)
#setPackageSuffix("mapper")
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
##表注释(宏定义)
/**
* $!{tableInfo.comment}($!{tableInfo.name})表数据库访问层
*
* @author xs.s
* @since $!time.currTime()
*/
public interface $!{tableName} extends BaseMapper<$!tableInfo.name> {
}
Service
##导入宏定义
$!{define.vm}
##设置表后缀(宏定义)
#setTableSuffix("Service")
##保存文件(宏定义)
#save("/service", "Service.java")
##包路径(宏定义)
#setPackageSuffix("service")
import com.baomidou.mybatisplus.extension.service.IService;
##表注释(宏定义)
/**
* $!{tableInfo.comment}($!{tableInfo.name})表服务接口
*
* @author xs.s
* @since $!time.currTime()
*/
public interface $!{tableName} extends IService<$!tableInfo.name> {
}
ServiceImpl
##导入宏定义
$!{define.vm}
##设置表后缀(宏定义)
#setTableSuffix("ServiceImpl")
##保存文件(宏定义)
#save("/service/impl", "ServiceImpl.java")
##包路径(宏定义)
#setPackageSuffix("service.impl")
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.stereotype.Service;
##表注释(宏定义)
/**
* $!{tableInfo.comment}($!{tableInfo.name})表服务实现类
*
* @author xs.s
* @since $!time.currTime()
*/
@Service("$!tool.firstLowerCase($tableInfo.name)Service")
public class $!{tableName} extends ServiceImpl<$!{tableInfo.name}Mapper, $!{tableInfo.name}> implements $!{tableInfo.name}Service {
}
MbatisPlusConfig
/**
* 支持分页配置
*/
@Configuration
public class MbatisPlusConfig {
/**
* 3.4.0之后版本
* @return
*/
@Bean
public MybatisPlusInterceptor mybatisPlusInterceptor(){
MybatisPlusInterceptor mybatisPlusInterceptor = new MybatisPlusInterceptor();
mybatisPlusInterceptor.addInnerInterceptor(new PaginationInnerInterceptor());
return mybatisPlusInterceptor;
}
}
##Knife4jConfig
package com.yy.config;
import com.github.xiaoymin.knife4j.spring.annotations.EnableKnife4j;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.bind.annotation.RestController;
import springfox.documentation.builders.ApiInfoBuilder;
import springfox.documentation.builders.PathSelectors;
import springfox.documentation.builders.RequestHandlerSelectors;
import springfox.documentation.oas.annotations.EnableOpenApi;
import springfox.documentation.service.Contact;
import springfox.documentation.spi.DocumentationType;
import springfox.documentation.spring.web.plugins.Docket;
import springfox.documentation.swagger2.annotations.EnableSwagger2;
/**
* @author yy
* @date 2022/7/12 23:39
*/
@Configuration
@EnableSwagger2
@EnableOpenApi //开启 Swagger3,可以不写
@EnableKnife4j //开启 knife4j,可以不写
public class Knife4jConfig {
@Bean(value = "defaultApi3")
public Docket defaultApi3() {
// Swagger 2 使用的是:DocumentationType.SWAGGER_2
// Swagger 3 使用的是:DocumentationType.OAS_30
Docket docket = new Docket(DocumentationType.SWAGGER_2)
// 定义是否开启swagger,false为关闭,可以通过变量控制
.enable(true)
.apiInfo(new ApiInfoBuilder()
.title("XXXApi接口文档")
.description("XXX服务平台Api接口文档")
.termsOfServiceUrl("http://127.0.0.1:80")
.contact(new Contact("作者", "地址", "邮箱或联系方式"))
.version("1.0")
.build())
//分组名称
.groupName("XXX服务")
.select()
.apis(RequestHandlerSelectors.withClassAnnotation(RestController.class))
//这里指定Controller扫描包路径
//.apis(RequestHandlerSelectors.basePackage("com.yy.**.controller"))
.paths(PathSelectors.any())
.build();
return docket;
}
}
pom依赖
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.4.3</version>
</dependency>
<dependency>
<groupId>com.github.xiaoymin</groupId>
<artifactId>knife4j-spring-boot-starter</artifactId>
<version>3.0.3</version>
</dependency>
<dependency>
<groupId>com.github.xiaoymin</groupId>
<artifactId>knife4j-spring-ui</artifactId>
<version>3.0.3</version>
</dependency>