Springboot项目开发遇到的各种问题汇总及解决方案

1.解决:IDEA连接mysql8.0.16,报[08001] Could not create connection to database server.

Connection to icloud_db@localhost failed.
[08001] Could not create connection to database server. Attempted reconnect 3 times. Giving up.


Springboot项目开发遇到的各种问题汇总及解决方案_第1张图片

 

原因是Mysql版本比较高出现的系列适配问题。

解决方式:

1. mysql5.5 使用:com.mysql.jdbc.Driver而8.0.*版本用com.mysql.cj.jdbc.Driver

2. 追加useSSL+serverTimezone+characterEncoding+autoReconnect

jdbc:mysql://localhost:3306/icloud_db?useSSL=false&serverTimezone=Hongkong&characterEncoding=utf-8&autoReconnect=true

 

mysql的连接驱动配置在这个位置,idea--->Database--->"+"---->>data source--->>mysql

Springboot项目开发遇到的各种问题汇总及解决方案_第2张图片
 

------------------------------------------------------------------  分割线 ----------------------------------------------------------------

2. IDEA中,使用generator插件生成mybatis代码,遇到Could not autowire. No beans of 'xxx' type found.异常

Springboot项目开发遇到的各种问题汇总及解决方案_第3张图片

解决方式1:mapper文件上加@Repository注解,这是从sping2.0新增的一个注解,用于简化 Spring 的开发,实现数据访问;

               2:在mapper文件上加@Component注解,把普通pojo实例化到spring容器中;

------------------------------------------------------------------  分割线 ----------------------------------------------------------------

3. TypeException: The alias 'Criterion' is already mapped to the value ****

通过mybaits插件自动生成代码(多张数据库表的mapper文件)时,报如上异常;

原因:是因为mybatis2.0.1自身缺陷导致的bug,而且mybatis默认使用2.0.1。

解决方式:使用mybatis-spring 2.0.0 或  2.0.2-SNAPSHOT

Springboot项目开发遇到的各种问题汇总及解决方案_第4张图片

------------------------------------------------------------------  分割线 ----------------------------------------------------------------

3. FileUploadBase$FileSizeLimitExceededException: The field file exceeds its maximum permitted  size of 1048576 bytes.

原因:通过MultipartFile文件上传时,报该异常。原因:上传文件大小超过tomcate的最大限制;

解决方式:

方式一:在application.properties中加入配置,改变上传文件最大值;

1、1.4版本之前配置方式:

      multipart.maxFileSize=2000Mb

      multipart.maxRequestSize=2500Mb

2、1.4版本后修改为:

      spring.http.multipart.maxFileSize=2000Mb

      spring.http.multipart.maxRequestSize=2500Mb

3、2.0版本之后修改该为:

  spring.http.multipart.max-file-size=2000Mb

  spring.http.multipart.max-request-size=2500Mb
 

方式二:在启动类 Application中添加配置,我是采取这种方式解决的。

1.给该类添加@Configuration  注解,

2.在该类中添加该方法;

@Bean
public MultipartConfigElement multipartConfigElement() {
    MultipartConfigFactory factory = new MultipartConfigFactory();
    //文件最大
    factory.setMaxFileSize("10240KB"); //KB,MB
    /// 设置总上传数据总大小
    factory.setMaxRequestSize("102400KB");
    return factory.createMultipartConfig();
}

------------------------------------------------------------------  分割线 ----------------------------------------------------------------

3.Could not resolve view with name 'xxxxxxxxxxx' in servlet with name 'dispatcherServlet'"

出现该异常的原因:由于我的请求参数比较多,于是把它们封装成一个类,然后又在.mapper文件中引用了该类;而且Controller类用@Controller注解的;

解决方式:

给Controller类添加@RestController注解;

@Controller与@RestController区别如下

@RestController is a stereotype annotation that combines @ResponseBody and @Controller.

------------------------------------------------------------------  分割线 ----------------------------------------------------------------

你可能感兴趣的:(JavaWeb板块)