當前位置:
首頁 > 知識 > 框架學習系列 mybatis 第十六篇常用標籤三及比較

框架學習系列 mybatis 第十六篇常用標籤三及比較

1:動態sql使用(foreach標籤的使用)

2:mybaitis與hibernate的比較及應用場景

3:總結&下節預告

本文是《凱哥陪你學系列-框架學習之mybatis框架學習》中第十六篇 mybatis 常用標籤三及與hibernate的比較

一:動態sql使用(foreach標籤的使用)

1.1:為什麼要有foreach標籤?

需求:

根據ids(多個id)查詢用戶信息。比如查詢id為16 /22 /26/28 /29這五個id的用戶信息。

正常的sql語句:我們可以想到使用in來處理

但是mybatis怎麼處理這些呢?

這個時候就可以使用foreach標籤了。

foreach標籤主要用於構建類似於in條件的,該標籤可以在再sql中對集合進行迭代(遍歷)

1.2:使用mybatis查詢出16 /22 /26/28 /29這五個id的用戶信息。

Mapper-User.xml文件中:

說明:

:聲明開始使用foreach標籤

collection:需要迭代的對象

其屬性值有三個,分別為:list、array、map三種

分別對應的參數類型為:list、數組、map集合

item:表示迭代(循環)過程中每一個元素的別名

index:表示迭代(循環)過程中每次迭代的位置(下標)(可以理解為:for循環中的i)

open:前綴

close:後綴

separator:分隔符。表示迭代時候每個元素之間用什麼分隔

使用場景:通常可以用於批量刪除、添加等操作中。

1.3:測試代碼:

1.4:執行後的sql語句:

二:mybaitis與hibernate的比較及應用場景

2.1:mybatis的特點:

1:學習門檻低,學習成本低。只要有sql基礎。就可以學習mybatis了,而且還很容易上手

2:通過直接編寫sql語句,可以直接對sql進行性能的優化

3:由於sql語句是直接編寫的,所以靈活性很高多變。便於代碼的維護

4:缺點。有用sql是直接編寫的。如果sql語句寫的不是通用的,那麼移植到其他資料庫(如mysql/sqlserver/oracle)的時候需要修改sql語句的。一句話,可移植性不好

2.2:hibernate的特點:

1:標準的ORM框架,開發者不需要編寫sql語句。(HQL語句可以直接完成)

2:可移植性好。因為使用的是HQL語句。具有很好的資料庫無關係。當遷移資料庫後,不需要再次編寫代碼

3:學習門檻高。需要對資料庫關係模型有良好的基礎,而且在設置OR映射的時候需要考慮好性能和對象模型的權衡。

4:缺點。因為使用的是HQL語句,開發者不需要編寫sql語句。所以想要對sql進行性能優化的時候,就麻煩了。

2.3:mybaits的應用場景

因其sql可以自己編寫及其輕量級框架,所以在需求多變的互聯網項目中應用的較為廣泛。

比如:電商項目多是用mybatis的

2.4:hibernate的應用場景

需求明確、業務固定的項目。例如OA項目、ERP項目等。

三:總結

通過本文學習我們需要掌握的:

1:foreach標籤的使用(重要)

需要理解的是:

1:mybatis和hibernate各種的優缺點及使用場景

下節預告:

通過這十六篇的學習。我們對mybatis簡單的使用以及掌握了。接下來我們將要學習高級篇(一對一、一對多、多多的的映射)。歡迎大家繼續學習。同時也歡迎大家關注凱哥Java


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

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


請您繼續閱讀更多來自 凱哥java 的精彩文章:

框架學習系列 mybatis 第十五篇動態sql及常用標籤二
框架學習系列 mybatis 第十四篇 動態sql一
框架學習系列 mybatis 第十三篇 全局配置文件 二
框架學習系列 mybatis 第十二篇映射文件之輸出映射
框架學習系列 mybatis 第十一篇 映射文件之輸入映射

TAG:凱哥java |

您可能感興趣

ArXiv最火深度學習框架:TensorFlow第一,PyTorch第二!
Karpathy更新深度學習開源框架排名:TensorFlow第一,PyTorch第二
Keras vs PyTorch:誰是「第一」深度學習框架?
ArXiv最受歡迎開源深度學習框架榜單:TensorFlow第一,PyTorch第四
ArXiv最受歡迎開源深度學習框架榜:TensorFlow第一,PyTorch第四
第55期:Python機器學習實踐指南、Tensorflow 實戰Google深度學習框架
PaddlePaddle常規賽前三名:我們眼中的深度學習框架
TensorFlow、MXNet、Keras如何取捨?常用深度學習框架對比
通向架構師的道路 ( 第二十二天 ) 萬能框架 spring ( 四 ) 使用 struts2
類Keras的PyTorch 深度學習框架——PyToune
JFinal框架學習——cache的簡單使用
python 框架flask學習心得
TensorFlow與PyTorch之爭,哪個框架最適合深度學習
深度學習框架排行榜:找工作學TensorFlow,PyTorch搜索量逼近Keras
通過小細節大幅改善 Django Rest 框架序列化性能
深度學習框架最新排名,TensorFlow一家獨大!
Keras還是TensorFlow?深度學習框架選型實操分享
《Tensorflow:實戰Google深度學習框架》
使用 Python 和 Pygame 模塊構建一個遊戲框架
Angular 6 正式發布:統一框架、Material和CLI 三大模塊