[kotlin] JDBC를 사용한 코틀린 데이터베이스 연동

Kotlin은 Java 플랫폼 상에서 실행되는 정적 타입 프로그래밍 언어로, Java와의 상호운용성을 갖추고 있습니다. 이에 따라 Kotlin을 사용하여 데이터베이스와 연동하는 것은 Java에서 사용하는 방식과 매우 유사합니다. Java에서의 데이터베이스 연동은 주로 JDBC(Java Database Connectivity)를 사용하는데, Kotlin에서도 이를 활용하여 데이터베이스와의 연동을 할 수 있습니다. 이번 글에서는 Kotlin에서 JDBC를 사용하여 데이터베이스를 연동하는 방법에 대해 간단하게 알아보도록 하겠습니다.

필수 라이브러리 추가

먼저, Kotlin 프로젝트에 JDBC를 사용하기 위해서는 JDBC 드라이버를 포함시켜야 합니다. 가장 일반적으로 사용되는 JDBC 드라이버는 H2, MySQL, PostgreSQL 등이 있습니다. 이 중에서 H2 데이터베이스를 기준으로 예를 들어 설명하도록 하겠습니다.

Gradle을 사용하는 경우

dependencies {
    implementation("com.h2database:h2:1.4.200")
}

Maven을 사용하는 경우

<dependencies>
    <dependency>
        <groupId>com.h2database</groupId>
        <artifactId>h2</artifactId>
        <version>1.4.200</version>
    </dependency>
</dependencies>

위와 같이 프로젝트에 JDBC 드라이버를 추가해줍니다.

데이터베이스 연결

이제 JDBC 드라이버가 포함된 프로젝트에서 데이터베이스에 연결을 해보겠습니다.

import java.sql.DriverManager

fun main() {
    // JDBC 드라이버 로드
    Class.forName("org.h2.Driver")

    // 데이터베이스 연결
    val connection = DriverManager.getConnection("jdbc:h2:~/test", "sa", "")

    // ... (연결된 데이터베이스를 사용하여 원하는 작업을 수행)
    
    // 연결 닫기
    connection.close()
}

위 코드를 간단히 설명하자면, DriverManager를 사용하여 H2 데이터베이스에 연결을 시도하고, 연결이 성공하면 Connection 객체가 반환됩니다. 연결 작업이 끝나면 close 메소드를 호출하여 연결을 닫아야 합니다.

SQL 실행

이제 데이터베이스에 연결한 후, SQL을 실행해 보겠습니다.

import java.sql.DriverManager

fun main() {
    Class.forName("org.h2.Driver")
    val connection = DriverManager.getConnection("jdbc:h2:~/test", "sa", "")

    // SQL 실행
    val statement = connection.createStatement()
    val resultSet = statement.executeQuery("SELECT * FROM YOUR_TABLE")

    while (resultSet.next()) {
        println(resultSet.getString("YOUR_COLUMN_NAME"))
    }

    resultSet.close()
    statement.close()
    connection.close()
}

위 코드에서 executeQuery 메소드를 통해 SELECT 쿼리를 실행하고 결과를 가져오고 있습니다. 결과를 가져온 후에는 반드시 리소스를 해제해주어야 합니다.

결론

Kotlin에서 JDBC를 사용하여 데이터베이스를 연동하는 방법에 대해 알아보았습니다. JDBC를 사용하면 다양한 데이터베이스와 Kotlin을 연동하여 데이터를 읽고 쓰는 작업을 수행할 수 있습니다.

이상으로 JDBC를 사용한 Kotlin 데이터베이스 연동에 대해 간략하게 알아보았습니다. 부족한 부분이 있을 수 있으니, 자세한 내용은 JDK와 JDBC, 그리고 Kotlin 공식 문서를 참고하시기 바랍니다.