[Day 01] 什麽是 Kotlin Exposed?为什麽要介绍它?

大家好!这三十天,我们这系列文章会介绍 Kotlin Exposed 这个框架,并且和大家谈怎麽利用这个框架与资料库进行串接。

什麽?Kotlin 也可以串接资料库吗?

没错!虽然很多人认识 Kotlin,都是因为在 Android 的开发上,才听说这个程序语言,不过作为一个 JVM-based 的语言,其实可以说 Java 能做到的事情,Kotlin 都有办法做到,串接资料库自然也不例外。

不过,要串接资料库时,我们当然会希望不要重新发明轮子,手动的去做许多底层的操作。这时候,Kotlin Exposed 框架就是一个很好的选择了!

Kotlin Exposed 框架

exposed logo

Exposed 是一个 Kotlin 的 ORM framework,基於 JDBC driver 上开发,由 JetBrains 官方开发与维护。

专案的 github 连接在此

如前面所说,这个框架的目的,主要是协助我们在 Kotlin 专案里面串接资料库。目前这个框架已经支援很多正式使用的资料库,比方说:

  • H2
  • MySQL
  • MariaDB
  • Oracle
  • PostgreSQL
  • SQL Server
  • SQLite

那麽,Exposed 框架有什麽好处呢?

首先,这个框架是纯 Kotlin 语言,所以不用担心同一专案需要多个语言维护,导致提升开发以及维护的难度。

得益於 Kotlin 的语法,这个框架使用起来的感觉非常简单易懂。不像部分语言受限於特性,无法完整的以物件导向方式撰写资料库的串接逻辑。

个人认为,比起许多语言串接资料库的方式开发上,要好学以及容易开发很多。

另外很重要的一点是,这个框架是 open source 的,使用 Apache License 2.0,所以不用担心使用时的授权或者费用等问题。

Exposed 的吉祥物

Kotlin Exposed 框架的吉祥物,是墨鱼(cuttlefish),属於墨鱼目的动物。

虽然墨鱼时常会和属於管鱿目的鱿鱼或者锁管搞混,不过我们可以看到,Exposed 框架的 logo 上面,吉祥物的身体上没有三角形的肉鳍,所以可以确定是墨鱼没错。

Cuttlefish

至於为什麽吉祥物是墨鱼呢?官方的说明是这样的:

Our official mascot is Cuttlefish, which is best known for its outstanding mimicry abilities letting it blend seamlessly in any environment. Just like our mascot, Exposed can mimic a variety of database engines and help you build database applications without hard dependencies on any specific database engine, and switch between them with very little or no changes in your code.

简单的说,Exposed 这个框架,就像墨鱼一样的善於拟态,可以随着使用资料库环境的不同,任意的改变自己的型态,以搭配不同的资料库引擎。

藉由使用 Exposed 框架,可以避免程序和资料库有很高的相依性,进而避免切换资料库时需要对程序码进行大幅的改写。

介绍完了之後,希望这三十天大家可以一起来好好学习 Kotlin Exposed 这个框架~


<<:  全端入门Day06_何谓全端之後端前篇

>>:  Day 05:「别过来!要保持社交距离!」 Tailwind 中的空间与距离

防止使用者频繁送出 Request & 倒数计时重新发送认证码

以实务来说,总是会有一些情况导致使用者没办法正常收到认证码,所以系统必须具备 retry on fa...

[python] TFT Display测试心得碎念(拿st7735的经验拯救ili9341)

使用的python函式库为: sudo pip3 install adafruit-circuitp...

Day7 什麽是JSX?

这个看起来很像HTML的标签语法,但实际上他是JavaScript的语法所扩充出来的 JSX语法 c...

Day 28 Rails shallow nesting

阿修说文解字 甚麽是 shallow nesting? shallow nesting 是用来把路径...

Day1 每个人都有一个财富自由梦

死线前的考验 大家好,身为一个工程师,做事情压死线是家常便饭,所以我昨天报名今天就开始写文章,我可...