본문 바로가기

Backend/Kotlin

Ktor Ktorm DB 연동 (매우 간단)

Ktor Framework에서 DB 연동해볼게요.

이런 저런 샘플 예제들이 있는데 복잡하더라구요.

아래 코드가 기반이며 이를 바탕으로 확장한 된 것이라 보시면 되요.

DatabaseConnection.kt

DB 설정 부분이에요.

 

import org.ktorm.database.Database

object DatabaseConnection {

  val database: Database =
    Database.connect(
      url = "jdbc:mysql://localhost:3306/demo",
      driver = "com.mysql.cj.jdbc.Driver",
      user = "root",
      password = "1234",
    )
}

Member.kt

스키마를 작성해줍니다.

 

import org.ktorm.entity.Entity
import org.ktorm.schema.Table
import org.ktorm.schema.int
import org.ktorm.schema.varchar

object MemberTable : Table<Member>("member") {
  val id = int("id").primaryKey().bindTo { it.id }
  val loginId = varchar("login_id").bindTo { it.loginId }
  val name = varchar("name").bindTo { it.name }
  val password = varchar("password").bindTo { it.password }
}

interface Member : Entity<Member> {
  companion object : Entity.Factory<Member>()

  val id: Int
  val loginId: String
  val name: String
  val password: String
}

MemberRepository.kt

Repository 클래스에서 member 테이블에 접근할 수 있는 API들을 관리할거에요.

Ktorm에서 제공해주는 Entity Sequence APIs를 사용해봤어요. (SQL DSL 방식도 있고, ORM 방식도 있어요.)

 

import org.ktorm.entity.sequenceOf
import org.ktorm.entity.toList

class MemberRepository {
  private val database = DatabaseConnection.database

  fun findAll(): List<Member> {
    return database.sequenceOf(MemberTable).toList()
  }
}

 

database 객체를 사용하여 이제 본격적으로 개발하시면 되는데요.

사용 방법은 공식 문서 확인해 보시는 것을 추천드립니다.

https://www.ktorm.org/en/quick-start.html

 

Ktorm | Quick Start

Edit Page Quick Start Ktorm was deployed to maven central, so you just need to add a dependency to your pom.xml file if you are using maven: 12345 org.ktorm ktorm-core ${ktorm.version} Or Gradle: 1compile "org.ktorm:ktorm-core:${ktorm.version}" Firstly, cr

www.ktorm.org

'Backend > Kotlin' 카테고리의 다른 글

Kotlin 랜덤 숫자 000000~999999  (0) 2022.04.17
Ktor Install Gson  (0) 2021.11.16
Ktor Application 빌드 오류 시 (Shadow Plugin)  (0) 2021.11.12
Ktor Framework 프로젝트 생성  (0) 2021.11.12