springboot 2.0 mysql_Springboot项目开发遇到的各种问题及解决方案

原标题:Springboot项目开发遇到的各种问题及解决方案

异常一: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 2.0 mysql_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.0 mysql_Springboot项目开发遇到的各种问题及解决方案_第2张图片

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

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

springboot 2.0 mysql_Springboot项目开发遇到的各种问题及解决方案_第3张图片

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

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

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

异常三: 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 2.0 mysql_Springboot项目开发遇到的各种问题及解决方案_第4张图片

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

异常四: 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.在该类中添加该方法;

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

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

异常五: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.

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

异常六: FileUploadBase$FileSizeLimitExceededException: The field file exceeds its maximum permitted size of ...

出现原因:上传的文件大小超过最大限制

解决方式:

在你的Application入口类中加入,multipartConfigElement方法

/** * 设置文件上传最大值 * * @return */@Beanpublic MultipartConfigElement multipartConfigElement() { MultipartConfigFactory factory = new MultipartConfigFactory(); //文件最大 factory.setMaxFileSize(DataSize.of(50, DataUnit.MEGABYTES)); //MB /// 设置总上传数据总大小 factory.setMaxRequestSize(DataSize.of(70, DataUnit.MEGABYTES)); return factory.createMultipartConfig();}返回搜狐,查看更多

责任编辑:

你可能感兴趣的:(springboot,2.0,mysql)