首頁>技術>

異常一: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.

原因是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

------------------------------------------------------------------ 分割線 ----------------------------------------------------------------

異常二: IDEA中,使用generator外掛生成mybatis程式碼,遇到Could not autowire. No beans of 'xxx' type found.異常

解決方式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

------------------------------------------------------------------ 分割線 ----------------------------------------------------------------

異常四: 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();}

最新評論
  • BSA-TRITC(10mg/ml) TRITC-BSA 牛血清白蛋白改性標記羅丹明
  • 13個MacOS很讚的開源小工具-IT開發利器