mybatis和sql經驗筆記

2021-07-23 02:43:45 字數 675 閱讀 7577

最近在做乙個小專案,之前涉及的是saas專案都是用mongodb,用spring-data,所以封裝比較好,語句很少寫。之前的mybatis的語句也是比較簡單都是兩個表關聯把mysql的語句忘的七七八八。所以這次專案就把mysql的拿起來。

1.limit

之前一直把limit理解錯了,就是limit a,b。一直以為是第a條到第b條,其實是錯的。是從第a條開始,取b條。

對比一下mongodb,limit(b)也是取b條的意思。而mongodb在find的時候還有乙個skip()的方法,就是跳過幾條,也能達到分頁的效果!

2.left join

如果有三張表需要left join ,寫法是 select * from (a left join b on a.bid=b.id) left join c on a.cid=c.id)。left join是要注意那張是主表,上面例子是a是主表,所以c left join的時候是left join a,如果你left join的是b,你就會發現出來資料條數往往不是你期望的。

3.mybatis的count返回值空指標

mybatis的count返回值配置的是integer的話,如果一旦查詢為空時,返回值為null。會報空指標,所以在count返回值的時候,要記得判空,一旦空了,就給負值0。

以上純粹是個人工作筆記。

Mybatis學習筆記 動態SQL

這片文章是對自己學習的總結。在mybatis的crud語句中,可以通過設定一些引數或者標籤,來讓我們寫sql語句時更加便利。sql元素的作用就是可以定義一條sql的一部分,然後以後的sql語句都可以直接引用它來減少 量。最常用的場景就是,我們在乙個dao層介面的配置檔案中進行各種各樣的查詢,但每次查...

Mybatis筆記(四) 動態SQL

selbyaccinaccout resulttype log select from log where 1 1 上句沒有分號,因為要與下面的句子相連 ognl表示式,直接寫key或物件的屬性,不需要新增任何特字符號 if test accin null and accin and accin i...

Mybatis筆記 SQL標籤方法

mpper.xml對映檔案中定義了運算元據庫的sql,並且提供了各種標籤方法實現動態拼接sql。每個sql是乙個statement,對映檔案是mybatis的核心。nameplace命名空間作用就是對sql進行分類化管理 curd操作標籤 if片段 1 selectone與selectlist方法 ...