SpringBoot+Mybatis webプロジェクトの一般的なバグ

2975 ワード

普段はeclipseを使うことが多く、springbootを独学で勉強するときにideaを転用するので、操作が慣れていないものもありますが、ここで出会ったバグや解決策を記録してみましょう.
IDEAのいくつかの便利な操作:(1)Importあるクラスが利用可能:alt+enter(2)自動的にテストクラスを生成し、junitでテストし、ideaはテストを行うクラス/方法カーソルに対してctrl+shift+tを上書きしてcreate test classを選択し、テストする方法をチェックする
一、【Loading class com.mysql.jdbc.Driver'. This is deprecated. The new driver class is com.mysql.cj.jdbc.Driver'.The driver is automatically registered via the SPI and manual loading of the driver class is generally unnecessary.】
バージョンの問題でmysql 5用の駆動urlはcom.mysql.jdbc.Driver,mysql 6以降はcom.mysql.cj.jdbc.Driver.バージョンが一致しないと、ドライバクラスの古いエラーが報告されます.
アプリケーションの説明yml構成では、【driver-class-name:com.mysql.cj.jdbc.Driver】に変更する必要があります.
二、【org.apache.ibatis.binding.BindingException:Invalid bound statement(not found):】
まず、一般的にmapperファイルのアドレスが対応しているかどうかをチェックします.
また!!!IDEAはxmlファイルの扱い方が違います.**mapper.xmlファイルはresourceというフォルダの下に置く必要があります.**eclipseはmapperインタフェースファイルとmapperだけである.xmlは同じレベルのディレクトリに配置すればいいです.
三、JDBC接続Mysql 6 com.mysql.cj.jdbc.Driver、タイムゾーンserverTimezoneを指定する必要があります.そうしないと、次のエラーが表示されます.
【 org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.exceptions.PersistenceException:

Error querying database. Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Could not get JDBC Connection; nested exception is org.apache.commons.dbcp.SQLNestedException:


Cannot create PoolableConnectionFactory (The server time zone value '�й���׼ʱ��' is unrecognized or represents more than one time zone. You must configure either the server or JDBC driver (via the serverTimezone configuration property) to use a more specifc time zone value if you want to utilize time zone support.)WARN: Establishing SSL connection without server's identity verification is not recommended. According to MySQL 5.5.45+, 5.6.26+ and 5.7.6+ requirements SSL connection must be established by default if explicit option isn't set. For compliance with existing applications not using SSL the verifyServerCertificate property is set to 'false'. You need either to explicitly disable SSL by setting useSSL=false, or set useSSL=true and provide truststore for server certificate verification.】
必ず追加しますか?characterEncoding=UTF-8&serverTimezone=UTC&useSSL=false
==>【url: jdbc:mysql://localhost:3306/smtest?characterEncoding=UTF-8&serverTimezone=UTC&useSSL=false】
四、MybaisのXXXXmapperファイルヘッダが書き間違えたため、mapperファイルラベル内容標準のmapperファイル書き方を読み取ることができない: