1.引入demo
mybatis-config檔案內容
<?xml version="1.0" encoding="utf-8" ?>
<?xml version="1.0" encoding="utf-8" ?>
select * from city where id = #
入口:
public class client
}
分析**:
1.載入mybatis-config檔案並獲取乙個sqlsessionfactory,類圖如下:
跟進**:
new sqlsessionfactorybuilder().build(inputstream);
裡面進行了2個操作:
2.1解析mybatis-config.xml的檔案內容
private void parseconfiguration(xnode root) catch (exception e)
}
2.2返回defautsqlsessionfactory
public sqlsessionfactory build(inputstream inputstream, string environment, properties properties) catch (exception e) finally catch (ioexception e)
}}
public sqlsessionfactory build(configuration config)
獲取乙個defautlsession
@override
public sqlsession opensession(executortype exectype, connection connection)
@override
public configuration getconfiguration()
private sqlsession opensessionfromdatasource(executortype exectype, transactionisolationlevel level, boolean autocommit) catch (exception e) finally
}
@override
public t selectone(string statement, object parameter) else if (list.size() > 1) else
}
@override
public listselectlist(string statement, object parameter)
@override
public listselectlist(string statement, object parameter, rowbounds rowbounds) catch (exception e) finally
}
if (validateincompletestatements)
}遺留問題:
mybatis如何解析sql
mybatis實現原理
mybatis是對jdbc的一種底層封裝。原理流程 1.sqlsessionfactorybuilder 每乙個mybatis的應用程式的入口是sqlsessionfactorybuilder。它的作用是通過xml配置檔案建立configuration物件,然後通過build方法建立 sqlsess...
Mybatis工作原理分析(一)
當我們在使用mybatis時,我們通常會和spring一起使用,就會使用以下配置方式,從而使用mybatis mybatis框架 在單獨使用mybatis時,原始碼進行分析 1 mybatis將配置檔案儲存到configuration物件中,作用是將配置檔案載入到記憶體中,加快配置檔案的讀取速度 i...
mybatis原理分析 一 JDBC
4.statement特點 使用過mybatis的都清楚底層封裝了jdbc的操作,將繁瑣的jdbc的操作給遮蔽了。所以分析mybatis的原理之前,先來看看jdbc是如何工作的,statement有哪些特點。jdbc是由sun公司提出的一些列規範,只定義了介面規範,具體實現由各個資料庫廠商去實現,它...