JavaEE学习笔记-Swagger,MyBatisPlus快速上手
一、Swagger
为了方便API接口管理,可以利用Swagger工具
要注意版本兼容问题,我的Spring Boot版本原先是2.6.11,后来改为2.5.6(因为版本太高,无论我如何配置都不行,如果有成功的朋友也可以评论分享)。
如果版本不对会报以下错误
Failed to start bean ‘documentationPluginsBootstrapper’; nested
exception is java.lang.NullPointerException
修改Spring Boot版本
添加对应的依赖,Swagger 版本是2.9.2
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>2.9.2</version>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<version>2.9.2</version>
</dependency>
创建配置类:
@Configuration
@EnableSwagger2
public class Swagger2Config {
@Bean
public Docket webApiConfig(){
return new Docket(DocumentationType.SWAGGER_2)
.apiInfo(webApiInfo())
.select()
//过滤掉所有error或error.*页面
.paths(PathSelectors.any())
.build();
}
private ApiInfo webApiInfo(){
return new ApiInfoBuilder()
.title("网站-课程中心API文档")
.description("本文档描述了课程中心微服务接口定义")
.version("1.0")
.build();
}
}
配置好之后在浏览器输入
http://localhost:8080/swagger-ui.html
为了方便理解接口含义,还可以注释 @ApiOperation(“解释接口功能”)
然后刷新页面就可以看见,接口注释情况
二、MyBatisPlus快速上手
导入依赖包:
<!--mybatis-plus 依赖包 -->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.4.2</version>
</dependency>
<!--mysql 驱动依赖 -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<scope>runtime</scope>
</dependency>
<!--数据连接池druid -->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid-spring-boot-starter</artifactId>
<version>1.2.1</version>
<scope>runtime</scope>
</dependency>
# MySQL驱动包
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
#数据连接池
spring.datasource.type=com.alibaba.druid.pool.DruidDataSource
# 数据库连接地址
spring.datasource.url=jdbc:mysql://localhost:3306/javatest?characterEncoding=utf8&serverTimezone=UTC
spring.datasource.username=root
spring.datasource.password=root
#指定日志输出格式
mybatis-plus.configuration.log-impl=org.apache.ibatis.logging.stdout.StdOutImpl
建立一个mapper包,用来存放数据库的一些操作,然后复制它的全包名
然后在启动类加上,粘贴即可
@MapperScan(“com.example.demo.mapper”)
一般数据查询是由Mybatic去实现,所以创建一个UserMapper接口不需要写出具体内容。
创建一个实体包(entity),然后创建用户类(按住Alt+Insert快速添加get/set方法)
其中继承的 BaseMapper是由MybatisPlus提供的(简化了不少代码),<>里面需要跟要操作的数据库里面的表名一样,当表名与entity里面命名的不一样,可以添加@TableName(“数据库中表的真实名”),如:@TableName("t_user")
@Mapper
public interface UserMapper extends BaseMapper<User> {
}
更多注解见:Mybatis-plus注解
三、分页查询
1.先做一个配置
定义一个配置类:
package com.example.demo.config;
import com.baomidou.mybatisplus.annotation.DbType;
import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor;
import com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
@Configuration
public class MyBatisPlusConfig {
/**
* 分页插件。如果你不配置,分页插件将不生效
*/
@Bean
public MybatisPlusInterceptor paginationInterceptor() {
MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();
// 指定数据库方言为 MYSQL
PaginationInnerInterceptor paginationInnerInterceptor= new PaginationInnerInterceptor(DbType.MYSQL);
interceptor.addInnerInterceptor(paginationInnerInterceptor);
return interceptor;
}
}
2.在Conroller控制类进行检验
//分页查询
@GetMapping("/page")
public IPage findBypage(){
Page<User> page = new Page<>(0,3);
IPage iPage = userMapper.selectPage(page,null);
return iPage;
}
四、SpringBoot文件上传
Spring Boot 实现文件上传功能:
Spring Boot工程嵌入的Tomcat限制了请求的文件大小,每个文件的配置最大为1Mb,单次请求的文件的总数不能大于10Mb.
往往可以在配置文件(application.properties)中加入两个配置,来进行更改
spring.servlet.multipart.max-file-size=10MB
spring.servlet.multipart.max-request-size=10MB