定義了 mybatis 專有的 persistenceexception 和 toomanyresult***ception 異常。
2.1 ibati***ception
org.apache.ibatis.exceptions.ibati***ception ,實現 runtimeexception 類,ibatis 的異常基類。**如下:
@deprecated
public class ibati***ception extends runtimeexception
public ibati***ception(string message)
public ibati***ception(string message, throwable cause)
public ibati***ception(throwable cause)
}
實際上,ibati***ception 已經在 2015 年被廢棄,取代它的是 persistenceexception 類。
2.2 ibati***ception
org.apache.ibatis.exceptions.persistenceexception ,繼承 ibati***ception 類,目前 mybatis 真正的異常基類。**如下:
public class persistenceexception extends ibati***ception
public persistenceexception(string message)
public persistenceexception(string message, throwable cause)
public persistenceexception(throwable cause)
}
2.3 exceptionfactory
org.apache.ibatis.exceptions.exceptionfactory ,異常工廠。**如下:
public class exceptionfactory
public static runtimeexception wrapexception(string message, exception e)
}
2.4 toomanyresult***ception
org.apache.ibatis.exceptions.toomanyresult***ception ,繼承 persistenceexception 類,查詢返回過多結果的異常。期望返回一條,實際返回了多條。**如下:
public class toomanyresult***ception extends persistenceexception
public toomanyresult***ception(string message)
public toomanyresult***ception(string message, throwable cause)
public toomanyresult***ception(throwable cause)
}
2.5 parsingexception
org.apache.ibatis.parsing.parsingexception ,繼承 persistenceexception 類,解析異常。**如下:
public class parsingexception extends persistenceexception
public parsingexception(string message)
public parsingexception(string message, throwable cause)
public parsingexception(throwable cause)
}
reflection 包:reflectionexception
logging 包:logexception
builder 包:builderexception、incompleteelementexception
scripting 包:scriptingexception
binding 包:bindingexception
type 包:typeexception
session 包:sqlsessionexception
cache 包:cacheexception
transaction 包:transactionexception
datasource 包:datasourceexception
executor 包:resultmapexception、executorexception、batchexecutorexception
plugin 包:pluginexception
Mybatis 原始碼分析
mybatis解析 2 sqlsessionfactorybean 繼承了 initializingbean 介面,在bean解析的finishbeanfactoryinitialization 的方法對 initializingbean介面中的 afterpropertiesset 方法進行呼叫,...
Mybatis原始碼分析
我們都知道mybatis它是一款優秀的持久層框架,它支援定製化sql 儲存過程以及高階對映,幫我們節省了許多時間與精力,今天我們主要來對mybatis的底層原始碼進行分析,主要是以下4行 首先呼叫resources中的單個string引數的getresuorceasstream string res...
MyBatis 原始碼分析
sqlsession inte ce,代表乙個連線資料庫的會話,提供了乙個預設的 defaultsqlsession sqlsessionfactory inte ct,建立 sqlsessionfactory 的工廠,提供了預設的 defaultsqlsessionfactory建立 defaul...