10|第十課:MyBatis整合Log4j以及延遲加載

一、歷史回顧

(一)、日志

SLF4J ---> Apache Commons Loggin ---> Log4j 2 ---> Log4j ---> JDK logging

二、Log4j以及延遲加載

(一)、Log4j

1、jar包:從下載MyBatis軟件包里就有(在mybatis-3.5.0的lib目錄)。

2、開啟日志:在conf.xml文件中

日志開啟

如果這里的value不指定,默認(rèn)按照以下順序?qū)ふ胰罩荆篠LF4J ---> Apache Commons Loggin ---> Log4j 2 ---> Log4j ---> JDK logging

3、編寫配置日志輸出文件(log4j.properties)

##日志級別,輸出地方

log4j.rootLogger=DEBUG, stdout

log4j.appender.stdout=org.apache.log4j.ConsoleAppender

log4j.appender.stdout.layout=org.apache.log4j.PatternLayout

log4j.appender.stdout.layout.ConversionPattern=%5p [%t] - %m%n

注:日志級別---DEBUG<INFO<WARN<ERROR。設(shè)置成DEBUG,4個(gè)都有。如果設(shè)置成INFO,則只有DEBUG不顯示,其余都顯示。也就是說只顯示指定級別及以上的。

建議:在開發(fā)時(shí),設(shè)置成DEBUG,在運(yùn)行時(shí),設(shè)置成INFO?

(二)、延遲加載

1、介紹:

查詢關(guān)聯(lián):一對一、一對多、多對一、多對多

2、一對一

例:

一對多:城市 --- 人

如果不采取延遲加載(立即加載),查詢時(shí)會(huì)將一和多都查詢,城市、人表中的所有人都會(huì)查詢出來。但是有的時(shí)候,我們只想查詢一,不想查詢多。這里卻全都查詢出來了。這樣的只查詢一,不查詢多的操作叫延遲加載。

具體操作:

(1)、延遲加載:需要配置conf.xml

配置信息

例:

conf.xml配置:

conf.xml配置

personMapper.xml配置:

personMapper.xml配置

新建并cardMapper.xml配置:

cardMapper.xml配置

personMapper接口:

personMapper接口

測試類:

測試類

通過例子debug發(fā)現(xiàn),如果程序只需要person,則只向數(shù)據(jù)庫發(fā)送了查詢person的SQL;當(dāng)我們后續(xù)需要用到card信息的時(shí)候,再第二次發(fā)送查詢學(xué)生證SQL。

如果增加了mapper.xml,要修改conf.xml配置文件(將新增的mapper.xml加載進(jìn)去)

3、一對多:和一對一的延遲加載配置相同

延遲加載的步驟,先查city

1、開啟延遲加載:conf.xml配置settings

2、配置mapper.xml:配置cityMapper.xml和personMapper.xml

配置cityMapper.xml

即:查詢person的sql通過select指定,并且通過column指定外鍵

配置 personMapper.xml

根據(jù)cityId查詢city,這個(gè)cityId通過外鍵傳入。

例:

conf.xml配置:配置settings和cityMapper.xml配置

配置cityMapper.xml:

配置cityMapper.xml

配置personMapper.xml:

配置personMapper.xml

cityMapper接口:

cityMapper接口

測試類:

測試類
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 在應(yīng)用程序中添加日志記錄總的來說基于三個(gè)目的:監(jiān)視代碼中變量的變化情況,周期性的記錄到文件中供其他應(yīng)用進(jìn)行統(tǒng)計(jì)分析...
    時(shí)待吾閱讀 5,153評論 0 6
  • 在應(yīng)用程序中添加日志記錄總的來說基于三個(gè)目的:監(jiān)視代碼中變量的變化情況,周期性的記錄到文件中供其他應(yīng)用進(jìn)行統(tǒng)計(jì)分析...
    時(shí)待吾閱讀 5,214評論 1 13
  • 一、Log4j簡介 Log4j有三個(gè)主要的組件:Loggers(記錄器),Appenders (輸出源)和Layo...
    默默守護(hù)閱讀 1,978評論 2 8
  • from:https://www.cnblogs.com/ITtangtang/p/3926665.html一、L...
    enshunyan閱讀 3,407評論 0 0
  • 王漸鳴,本名王建民,號硯溪,齋名鄰蕉館,1979年6月生于江西省峽江縣長嶺村。中國書法家協(xié)會(huì)會(huì)員、江西省作家協(xié)會(huì)會(huì)...
    一葦書屋閱讀 579評論 0 0

友情鏈接更多精彩內(nèi)容