mybatis筆記(1) 載入過程

2021-08-22 12:10:57 字數 1864 閱讀 9591

先寫個小demo,如下。相關配置檔案就不貼出來了。官網上直接可以複製

public static void main(string args) throws ioexception
1、如何載入配置檔案

使用resources類將配置檔案載入為reader。

第一步

//呼叫getresourceasreader。

第二步//進入getresourceasreader方法。使用inputstreamreader將inputstream包裝成reader

public

static reader getresourceasreader(string resource) throws ioexception else

return reader;

} 第三步

//進入getresourceasstream載入inputstream

public

static inputstream getresourceasstream(classloader loader, string resource) throws ioexception

return

in; }

第四步//選擇乙個類載入器來載入檔案,包裝成inputstream

//選擇第乙個可以用的載入器,這裡不明白為什麼要這麼做

//(直接都指定為其中乙個不就好了?有大佬看到可以解答下)

inputstream getresourceasstream(string resource, classloader classloader)

if (null != returnvalue) }}

return

null;

}

2、建立sqlsessionfactory

sqlsessionfactory sessionfactory=new sqlsessionfactorybuilder().build(reader);

第一步//建立乙個xmlconfigbuilder,再呼叫xmlconfigbuilder的parse()方法獲取乙個configuration物件

//並使用該物件去build乙個sqlsessionfactory

public sqlsessionfactory build(reader reader, string environment, properties properties) catch (exception e) finally catch (ioexception e)

}} 第二步

public

xmlconfigbuilder(reader reader, string environment, properties props)

第三步//進入xmlconfigbuilder的parse()方法

public configuration parse()

parsed = true;

//獲取根節點,進行解析

parseconfiguration(parser.evalnode("/configuration"));

return configuration;

} 第四步

//這裡就是解析所有的子節點的過程

private

void

parseconfiguration(xnode root) catch (exception e)

}

mybatis學習筆記 13 延遲載入

resultmap可以實現高階對映 使用association collection實現一對一及一對多對映 association collection具備延遲載入功能。延遲載入 先從單錶查詢 需要時再從關聯表去關聯查詢,大大提高資料庫效能,因為查詢單錶要比關聯查詢多張表速度要快。需求 如果查詢訂單...

Mybatis延遲載入(懶載入)

將採用高階對映實現多表聯查時向資料庫發出的sql語句拆分成若干條單錶查詢的sql語句,當需要返回資料時才會向資料庫發出只針對當前資料的sql語句。需求 根據訂單編號,查詢訂單,並返回訂單詳情描述資訊實現延遲載入的前提條件 在settings中配置與延遲載入有關的屬性.column 查詢user的引數...

Mybatis延遲載入

現在有這麼乙個需求,要查詢所有的訂單,並且獲得該訂單的詳細資訊。如果一次性把所有需要的資料都請求到,那麼對伺服器和資料庫的開銷會很大,所以可以先載入訂單資訊,需要用到訂單詳情的時候再請求詳情資料。那麼就要用到mybatis的延遲載入 name lazyloadingenabled value tru...