iT邦幫忙

2021 iThome 鐵人賽

DAY 30
2
Modern Web

Kotlin 怎麼操作資料庫?談談 Kotlin Exposed 框架系列 第 30

[Day 30] 最後一天了,來複習看看我們學了些什麼

今天是鐵人賽的最後一天了,我們花點時間來看看這三十天我們都介紹了些什麼。

首先,我們介紹了一下 Kotlin Exposed 是怎樣的一個框架(Day 1

然後,我們建立了專案(Day 2),並安裝好了框架(Day 3),準備後續的開發。

我們先利用 H2 資料庫,和資料庫進行了串接(Day 4)。然後介紹了第一種和資料庫互動的方式:DSL(Domain Specific Language),並介紹了DSL 的使用方式(Day 5Day 6)。

接著,我們介紹了另一種和資料庫互動的方式:DAO(Data Access Object),並介紹了透過 DAO 和資料庫互動的方式(Day 7Day 8),並且介紹了怎麼利用 DAO 的關聯功能,來建立資料和資料之間的關係(Day 9Day 10Day 11

為了要解決 DAO 容易發生的 N+1 問題,我們提到怎麼使用 eager loading(Day 12

為了提升效率,我們利用了 Kotlin 內建 coroutine 的特性,提到了suspendedTransactionAsyncDay 13

為了讓連線從測試用的 H2 轉到正式使用的 MySQL,我們提到了怎麼更換連線的資料庫(Day 14

接著,為了讓我們的專案能更加穩定,我們加上了自動測試(Day 15Day 16Day 17)。

並且,為了讓測試更好看懂,我們以函數編程的概念來重構測試(Day 18Day 19Day 20)。

我們提到了單元測試和整合測試(Day 21),提到了測試用到的五種 test double(Day 22Day 23 ),提到了和時間相關的測試怎麼處理(Day 24),還有什麼是依賴反轉(Day 25

我們提到了 DAO 和 DSL 在使用上的差異,以及什麼場景下適合使用什麼方式(Day 26

最後我們提到了幾個和資料庫相關的需求,雖然沒有在 Exposed 框架裡面實作,但是我們可以透過其他套件或框架來達成,比方說 connection pool(HikariCP),migration(Flyway),API Server( Ktor)。

希望這三十天的旅程讓各位有所收穫!我們明年見!


上一篇
[Day 29] 建立對外溝通的 API Server,談談 Ktor 框架
系列文
Kotlin 怎麼操作資料庫?談談 Kotlin Exposed 框架30
1
Mandy
iT邦新手 4 級 ‧ 2021-10-05 00:17:10

賀 ReccaChao 哥完賽!
明年見~

1
json_liang
iT邦新手 4 級 ‧ 2021-10-05 00:27:32

賀 ReccaChao 哥完賽!
明年見~

1
雷N
iT邦新手 2 級 ‧ 2021-10-05 09:18:41

賀 ReccaChao 哥完賽!
明年見~

1
孤獨一隻雞
iT邦新手 3 級 ‧ 2021-10-05 09:25:17

恭喜R大完賽

1
Calvin
iT邦新手 5 級 ‧ 2021-10-06 11:37:50

來自社群的祝賀

我要留言

立即登入留言