第一個MyBatis程式
1. 定義ID不要定義int,定義成包裝類型interger,因為這樣可以進行為null的判斷。
2. 為什麼實體類中建構一個無參構造器?
試想一下,假如沒有無參構造器,每new一個對象都要傳入參數,并且規定類必須有屬性,這樣降低了類的靈活性,也可以想一下,方法裡面不也是可以不傳入參數的麼。
3. 定義一個代參構造器,為什麼要構造一個無參構造器?(shift+alt+S)
a. 若目前實體類有可能作父類,那麼建立子類對象時,JVM會調用其父類的無參構造器。
b. 若使用了Spring架構,那麼要求Spring容器所管理的類,必須要有無參構造器。
4. 為什XML中需要一個限制檔案DTD或者XXD檔案?
為多用的标簽需要去限制,隻有這樣才不會亂來。無規矩不成方圓嘛!
5. 代碼不是自上而下的打代碼,而是應該用到這個代碼了,我們再去寫!
6. 為什麼不同的日志技術可以運用到架構中?
其中一個架構日志擴充卡Slf4j。
7. 工具類中的異常一般是要抛出給調用者的,不應try catch。
上次問題遺留解決:1.inputstream為什麼不用關閉?
因為TRUE與false,因為SqlSessionFactorybuilder的方法自帶有輸入流的關閉!
2.關于上次對SqlSession不太了解?然後為什麼SQLSession為什麼不需要復原?
我認為它在堆記憶體中的一塊空間,其放着Configuration、executor、dirtyautoCommit成員變量值。