mybatis日誌(日誌:log4j)

日誌:log4j

1.導包

2.開啓日誌

在conf.xml中的configuration標籤的子標籤下

有一個settings標籤,setting配置日誌

<settings>

       //開啓日誌,並指定使用的具體日誌

       <setting name= "logImpl" value="LOG4J"/>

</settings>

如果不開啓日誌,就會按照下面順序去尋找日誌

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

3.編寫配置日誌輸出文件

log4j.properties

 

       log4j.rootLogger = DEBUG, stdout

       控制日誌的兩種方式,stdout說明日誌在那裏顯示(控制檯),DEBUG說明輸出級別

       常用的4個級別:debug<info<warn<Error)打印時debug:4種全有;Info;只顯示info及以上信息,以此類推  **建議:開發時設置debug,運行時設置info或以上

       log4j.appender.stdout = org.apache.log4j.ConsoleAppender  顯示方式:控制檯普通方式

       log4j.appender.stdout.layout = org.apache.log4j.PatternLayout 平鋪方式:可以是平鋪,也可以是列式

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

**照抄就行

 

a.沒有log4j配置文件

b. 有log4j配置文件

可以通過日誌信息,相應的閱讀mybatisde執行情況(觀察mybatis實際執行的mysql語句以及Sql中的參數和返回結果)

 

 

***延時加載:(懶加載)

一對一、一對多、多對一、多對多

一對多:班級-學生

如果不採用延時加載(立即加載),查詢時會將一和多 都查詢,班級、班級中的所有學生

 

延時加載:如果想要暫時只查詢一的以放,而多的一方 先不查詢 而是在需要的時候再去查詢

 

一對一:學生-學生證,只需要改association,不在子標籤裏寫,在本身寫,需要再寫一個stucardmapper.xml,sql語句需要變,先查學生,需要的時候再查學生證

<select id="as" resultMap="xxx" parameterType="int">

              select * from student

       </select>

       <resultMap type="student" id="xxx">

              <id property="stuNo" column="id" />

              <result property="stuName" column="name" />

              一對一用association 屬性名stucard,對應類型StudentCard,採用延時加載,在查詢學生時,不立即加載學生證信息 select指定延時加載的sql語句,採用namespace+id找到對應的mapper.xml的配置的sql語句,column指定外鍵

             <association property="stucard" javaType="StudentCard" select=” com.mapper.StudentMapper.asx” column = “cardid”>

                    

              </association>

       </resultMap>

stucardmapper.xml

<mapper namespace="com.mapper.StudentMapper">

<select id="asx" resultType="stuCard" parameterType="int">

              select id ,name from stucard where cardid=#{cardId}

</select>

</mapper>

最後 需要在conf.xml裏配置

  1. 開啓延時加載

<setting name= "lazeLoadingEnable" value="true"/>

     2.關閉立即加載

 <setting name= "aggressiveLadyLoading" value="false"/>

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章