整合Mybatis Plus
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.4.2</version>
</dependency>
调整配置
去掉mybatis配置
添加mybatis plus配置
# mybatis-plus配置
mybatis-plus:
configuration:
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
typeAliasesPackage: com.qcbt.lxt.byg0417.entity
mapperLocations: classpath:mapper/*.xml
添加分页插件
集成完毕分页插件之后,可去掉PageHelper 分页插件
@Configuration
public class MybatisPlusConfig {
// 最新版
@Bean // <bean id=""/>
public MybatisPlusInterceptor mybatisPlusInterceptor() {
MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();
interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL));
return interceptor;
}
}
调整mapper和service
public interface TestMapper extends BaseMapper<Test> {
List<Test> list();
}
public interface TestService extends IService<Test> {
List<Test> list(int pageNo, int pageSize);
}
@Service
public class TestServiceImpl extends ServiceImpl<TestMapper, Test> implements TestService{
@Autowired
private TestMapper testMapper;
@Override
public List<Test> list(int pageNo, int pageSize) {
List<Test> list = testMapper.list();
return list;
}
}
整合Swagger接口文档
<!-- https://mvnrepository.com/artifact/io.springfox/springfox-swagger-ui -->
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<version>2.9.2</version>
</dependency>
<!-- https://mvnrepository.com/artifact/io.springfox/springfox-swagger2 -->
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>2.9.2</version>
</dependency>
swagger:
title: xxx项目RESTful API
description: 开发人员太懒,没有写描述
version: 1.0
contactName: lxt
contactEmail:
contactUrl:
basePackageRest: com.qcby.xxx.rest
termsOfServiceUrl:
@Component
@ConfigurationProperties(prefix = "swagger")
public class SwaggerProperties {
private String title;
private String contactName;
private String contactUrl;
private String contactEmail;
private String version;
private String description;
private String basePackageRest;
private String termsOfServiceUrl;
.... 省略get set方法
}
@Configuration
@EnableSwagger2
public class SwaggerConfig {
@Autowired
private SwaggerProperties swaggerProperties;
@Bean
public Docket createRestApi() {
return new Docket(DocumentationType.SWAGGER_2)
.groupName("REST接口")
.apiInfo(apiInfo())
.select()
// 配置自动扫描那些包下类型生成接口文档
.apis(RequestHandlerSelectors.basePackage(swaggerProperties.getBasePackageRest()))
.build();
}
//构建 api文档的详细信息函数,注意这里的注解引用的是哪个
private ApiInfo apiInfo() {
return new ApiInfoBuilder()
//页面标题
.title(swaggerProperties.getTitle())
//创建人
.contact(new Contact(swaggerProperties.getContactName(), swaggerProperties.getContactUrl(),swaggerProperties.getContactEmail()))
//版本号
.version(swaggerProperties.getVersion())
//描述
.description(swaggerProperties.getDescription())
.build();
}
}
// 类
@Api(value = "通用接口", tags = {"通用接口"})
// 参数
@ApiImplicitParams(
{@ApiImplicitParam(name = "Authorization",
value = "Authorization token", required = true,
dataType = "string", paramType = "header")}
)
// 实体类字段
@ApiModelProperty(value = "创建时间")