一 . mybatis是什麼?
mybatis是乙個持久層框架,其中編寫的過程中sql語句是需要程式設計師自己去編寫,mybatis也有
一些對映(輸入引數對映,輸出引數對映),mybatis是乙個不完全的orm框架。在專案應用中成本較低
不同於hib(成本較高) 在編寫mybatis中程式設計師只需要把精力放在sql語句上即可,mybatis對sql
語句的優化非常方便,而hibernate 對sql語句的變更較mybatis差,所以mybatis適用於需求變化較多
的專案,比如網際網路專案。(簡化底層的sql)
二 . mybatis框架的執行過程
1.配置mybatis配置檔案,sqlmapconfig.xml(
2.通過配置檔案載入mybatis執行環境,建立sqlsessionfactory會話工廠,通過sqlsessionfactory建立
3. 呼叫sqlsession的方法去運算元據庫(增刪改查......)
4.釋放資源
三 . mybatis開發dao層的方法:
mybatis開發dao有兩種方法
1.原始dao(需要程式設計師掌握,現在有的公司還在用)
需要編寫dao介面的實現類 ,在dao實現類中注入sqlsessionfactory工廠
四。輸入輸出對映
1.輸入對映
parametertype:指定輸入引數型別的可以簡單型別,pojo ,hashmap....
對於綜合查詢,建議parametertype使用包裝過的pojo,有利於系統維護,擴充套件
2.輸出對映
resulttype:
查詢到的列名和resulttype的屬性名一致才能對映成功
resultmap:
可以通過resultmap完成一些高階對映
如果查詢到的列名和對映的pojo屬性名不一致時,通過resultmap設定列名和屬性名之間的對應關係,可以完成對映
高階對映:將關聯查詢的列對映到乙個pojo屬性中(一對一)
將關聯查詢的列對映到乙個list《pojo》中(一對多)
五. 動態sql
if判斷
where(去掉第乙個and)
foreatch
sql片段
ThreadLocal是什麼?怎麼用?
threadlocal用於儲存某個執行緒共享變數 對於同乙個static threadlocal,不同執行緒只能從中get,set,remove自己的變數,而不會影響其他執行緒的變數。簡單的使用 public class threadlocaltestpublic class mytest exte...
Context是什麼,怎麼用
開始學安卓的時候發現經常有context,但是都不知道為什麼,什麼時候需要它。官方文件概述 關於應用程式環境的全域性資訊的介面。這是乙個抽象類,它的實現是由安卓系統提供的。它允許訪問應用程式特定的資源和類,以及應用級的操作,如啟動活動,廣播和接收的意圖,等等。我感覺可以把context比喻成乙個遊樂...
立即執行函式是什麼
什麼是立即執行函式?宣告乙個函式,並馬上呼叫這個匿名函式就叫做立即執行函式 也可以說立即執行函式是一種語法,讓你的函式在定義以後立即執行 立即執行函式的多個寫法 有時,我們定義函式之後,立即呼叫該函式,這時不能在函式的定義後面直接加圓括號,這會產生語法錯誤。產生語法錯誤的原因是,function 這...