什麼是動态SQL:
動态SQL就是指根據不同的條件生成不同的SQL語句
利用動态 SQL,可以徹底擺脫這種痛苦。
動态 SQL 元素可能會感覺似曾相識。在 MyBatis 之前的版本中,需要花時間了解大量的元素。借助功能強大的基于 OGNL 的表達式,MyBatis 3 替換了之前的大部分元素,大大精簡了元素種類,現在要學習的元素種類比原來的一半還要少。
if
choose (when, otherwise)
trim (where, set)
foreach
動态SQL:
這條語句提供了可選的查找文本功能。如果不傳入 “title”,那麼所有資料都會傳回
傳入了 “title” 就按 “title” 查找,傳入了 “author” 就按 “author” 查找的情形。若兩者都沒有傳入,就傳回标記為 featured 的 BLOG
where 元素隻會在子元素傳回任何内容的情況下才插入 “WHERE” 子句。而且,若子句的開頭為 “AND” 或 “OR”,where 元素也會将它們去除。
set 元素會動态地在行首插入 SET 關鍵字,并會删掉額外的逗号。