Mbatis是什麼?怎麼執行?

2022-05-06 01:03:13 字數 1142 閱讀 3471

一   .    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 這...