當前位置:
首頁 > 知識 > 使用tk.mybatis快速開發curd

使用tk.mybatis快速開發curd

使用mybatis已經是可以快速開發程序了,對於單表的curd似乎是一種可抽象的結果,下面介紹tk.mybatis的使用方式。

maven引用

我使用的是這個版本,所以相關功能介紹也是這個版本。

使用where條件

當使用查詢條件的時候,我們可以使用mybatis的方式寫sql來解決,很多情況下,寫sql並不是一個特別簡單的情況,尤其是欄位多的時候,需要針對每個欄位進行判斷是否為空等等,寫起來是相當的多。

tk.mybatis提供了一套api,可以幫助我們省去很多操作。

首先需要創建example和criteria。Example的參數是對應表的類。criteria才是我們關注的對象,他有豐富的條件。

例如且等於

例如且等於

還有一些我們常見的操作

in操作和between操作

通過以上的方法,我們基本已經可以滿足對單表的條件比對操作了。

排序操作

排序操作設計的比較奇特,並不在criteria里,而是在example里。

排序的sql語句就寫在setOrderByClause中就可以了。

無論是增刪改查,調用的都是ByExample的方法。

坑點

我們在插入和查詢的時候都會使用對象來作為條件,但是如果對象里有null值,那麼其實他不是我們想插入的欄位,我們只想插入非null的。tk.mybatis默認沒有對insert等方法做處理,而是單獨開闢了一個insertSelective的方法。這個剛開始使用特別不舒服,一般都是insert包含了過濾,但是沒有需要專門使用insertSelective。其他的方法也類型。

使用查詢條件的時候,使用的是對象的欄位名,而不是表的列名。這個剛開始很容易抓混,不知道應該使用哪個。

當查詢條件特別多的時候,請寫sql。條件特別多的時候寫代碼特別容易抓混,而且由於條件特別多,不需要的部分太多了,例如criteria.andGreaterThan。這些最後都會成為干擾項,這種情況寫sql是清晰的方式。

沒有連表操作,這算是他的一個功能不足的情況,我們可以使用mybatis的連表操作,但是他確實不是一個好的寫法。這裡也建議直接寫sql。

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 千鋒JAVA開發學院 的精彩文章:

identityHashCode與偏向鎖
設置 Nuget 本地源、在線私有源、自動構建打包

TAG:千鋒JAVA開發學院 |