Kotlin Exposed 基礎教學
寫給會寫 Kotlin,想用型別安全的方式操作資料庫,不想拼 SQL 字串,也不想被 ORM 綁架的後端工程師。這是一份三個月、共 12 期的電子報,每週一期,每封信獨立成篇、只講一件事,帶你從一行連線走到關聯與查詢次數,並誠實列出系列沒有涵蓋的方向。
訂閱電子報
訂閱後你會看到的三個重點
-
每週一期,獨立成篇
每封信只講一件事,不需要追過前面幾期,任何一週加入都看得懂
-
編譯器替你檢查查詢
欄位名稱打錯,編譯時就會知道,不用等到查詢被執行才炸開
-
看得到每一條實際送出的 SQL
DSL 與 DAO 並排比較,也教你數出查詢次數,揪出 N+1
你會收到的內容
-
不想拼 SQL 字串,也不想被 ORM 綁架
型別安全地描述 SQL,認識 DSL 與 DAO 兩種寫法
-
第一次連上資料庫,只要一行
最小依賴組合與 Database.connect,換資料庫只改連線字串與驅動
-
為什麼每個操作都要包在 transaction 裡
transaction 是連線的範圍,也是提交與還原的邊界
-
資料表定義,寫在程式碼裡
用 object 宣告欄位與主鍵,成為編譯期檢查的來源
-
新增與查詢,DSL 的第一次體驗
insert、selectAll 與 where 組成最小的資料存取
-
更新與刪除,忘了條件會發生什麼事
update 與 deleteWhere 漏掉條件,整張資料表都會被改寫
-
換一種寫法,DAO 的 Entity
把每一列包成物件,用屬性與方法操作資料
-
DSL 還是 DAO,該選哪一個
同一個需求並排比較,並約定團隊的混用界線
-
一個片段屬於一個集合
一對多關聯在資料表定義時就宣告清楚
-
一個片段,多個標籤
多對多為什麼必須拆成中介資料表
-
迴圈裡一筆一筆查,資料庫被打爆了
開啟 SQL 日誌數查詢次數,用 eager loading 一次載入
-
十二週後,拿一份清單檢查你的資料存取層
收斂成五個層次的檢查清單,並列出系列沒有涵蓋的方向