學習使用mybatis框架初遇異常
初學mybatis框架時遇到的異常PersistenceException
異常情況:
Exception in thread “main” org.apache.ibatis.exceptions.PersistenceException:
Error building SqlSession.
The error may exist in SQL Mapper Configuration Cause: org.apache.ibatis.builder.BuilderException: Error parsing SQL Mapper Configuration. Cause: org.apache.ibatis.datasource.DataSourceException: Unknown DataSource property: validationQuery
當時遇到這個問題,只百度了“org.apache.ibatis.exceptions.PersistenceException”,“Error building SqlSession”,“org.apache.ibatis.datasource.DataSourceException: Unknown DataSource property: validationQuery”這幾個問題的解決辦法,無果,故只能自己找出錯誤。
最終注意到關鍵詞“validationQuery”,這個詞語曾在我的上一篇部落格中出現(當初是為了建立druid連線池時需要寫druid.properties),也在這個mybatis的總配置檔案中出現。
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE configuration
PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">
<!-- mybatis的主配置檔案 -->
<configuration>
<!-- 配置環境 -->
<environments default="mysql">
<!-- 配置mysql的環境-->
<environment id="mysql">
<!-- 配置事務的型別-->
<transactionManager type="JDBC"></transactionManager>
<!-- 配置資料來源(連線池) -->
<dataSource type="POOLED">
<!-- 配置連線資料庫的4個基本資訊 -->
<property name="driver" value="com.mysql.cj.jdbc.Driver"/>
<!--jdbc:mysql://localhost:3306/travel?useSSL=false&allowPublicKeyRetrieval=true&serverTimezone=UTC-->
<property name="url" value="jdbc:mysql://localhost:3306/database?useSSL=false&allowPublicKeyRetrieval=true&serverTimezone=UTC"/>
<property name="username" value="root"/>
<property name="password" value="xxxx"/>
<property name="characterEncoding" value="utf-8"/>
<property name="initialSize" value="5"/>
<property name="maxActive" value="10"/>
<property name="maxWait" value="3000"/>
<property name="validationQuery" value="SELECT 1"/>
<property name="testWhileIdle" value="true"/>
</dataSource>
</environment>
</environments>
<!-- 指定對映配置檔案的位置,對映配置檔案指的是每個dao獨立的配置檔案 -->
<mappers>
<mapper resource="Dao.xml"/>
</mappers>
</configuration>
於是把它刪掉,後發現以下這幾個都會丟擲異常,故在使用過程中需要把他們刪除才不會丟擲異常。
<property name="characterEncoding" value="utf-8"/>
<property name="initialSize" value="5"/>
<property name="maxActive" value="10"/>
<property name="maxWait" value="3000"/>
<property name="validationQuery" value="SELECT 1"/>
<property name="testWhileIdle" value="true"/>
究其原因,發現問題的出現是由於配置dataSource中的一個標籤,在該標籤下,應該是隻能放入配置資料庫的基本連線資訊{driver,url,username,password}。
<!-- 配置資料來源(連線池) --> <dataSource type="POOLED">......<dataSource>
(以上配置是mysql8.0.21的資料庫連線方式如有錯誤,可留言指正~)
相關文章
- MyBatis原始碼學習筆記(一) 初遇篇MyBatis原始碼筆記
- 初學者Mybatis的初級使用MyBatis
- 初識MyBatis框架MyBatis框架
- Mybatis框架 入門學習MyBatis框架
- MongDB學習筆記(一) 初遇篇筆記
- 初學Solidity(六):Solidity異常處理Solid
- HTTP Client 學習筆記 (一) 初遇篇HTTPclient筆記
- Java--異常的學習Java
- java學習筆記(異常)Java筆記
- MySQL事務學習筆記(一) 初遇篇MySql筆記
- Spring 事務學習筆記(一) 初遇篇Spring筆記
- [轉載] 快速學習-Mybatis框架概述MyBatis框架
- JAVA學習之異常處理Java
- Neo4j 學習筆記(一) 初遇篇筆記
- MyBatis學習總結(24)——Mybatis常見問題彙總MyBatis
- MyBatis 框架系列之基礎初識MyBatis框架
- 學習Grafana初級使用Grafana
- 異常處理 - Go 學習記錄Go
- Mybatis初學建立一個MyBatis-HelloworldMyBatis
- Mybatis學習筆記 1:一個Mybatis使用例子MyBatis筆記
- Golang 學習筆記八 錯誤異常Golang筆記
- swoft 學習筆記之異常處理筆記
- Python學習之 異常處理詳解Python
- SpringMVC學習系列(10) 之 異常處理SpringMVC
- Mybatis學習-初步認知與使用MyBatis
- 兩種異常(CPU異常、使用者模擬異常)的收集
- python自定義異常,使用raise引發異常PythonAI
- MVC使用異常過濾器處理異常MVC過濾器
- mybatis學習MyBatis
- Python學習之路9-檔案和異常Python
- SpringMVC學習筆記10-異常處理SpringMVC筆記
- oracle 使用異常exceptionOracleException
- 學習MyBatis必知必會(2)~MyBatis基本介紹和MyBatis基本使用MyBatis
- java異常練習題Java
- 深度學習與CV教程(8) | 常見深度學習框架介紹深度學習框架
- 初學事務管理:SpringBoot+MybatisSpring BootMyBatis
- Java常見異常彙總 這些“攔路虎”你遇見了嗎?Java
- Flutter異常監控 - 伍 | 關於異常監控框架設計的思考Flutter框架