728x90
반응형
Kotlin과 JDBC 사용의 개요
- JDBC(Java Database Connectivity)는 Java 애플리케이션에서 데이터베이스 작업을 수행하기 위한 표준 API입니다.
- Kotlin에서도 JDBC API를 사용하여 데이터베이스에 연결하고 CRUD 작업을 수행할 수 있습니다.
데이터베이스 연결 설정
- 먼저, JDBC 드라이버를 프로젝트의 의존성으로 추가합니다. 예를 들어, MySQL을 사용한다면 mysql-connector-java를 추가합니다.
dependencies {
implementation("mysql:mysql-connector-java:8.0.23")
}
- JDBC를 사용하여 데이터베이스에 연결합니다.
val url = "jdbc:mysql://localhost:3306/mydatabase"
val username = "root"
val password = "password"
val connection = DriverManager.getConnection(url, username, password)
CRUD 작업 예제
- 생성 (Create)
val insertQuery = "INSERT INTO users (name, email) VALUES (?, ?)"
val preparedStatement = connection.prepareStatement(insertQuery)
preparedStatement.setString(1, "John Doe")
preparedStatement.setString(2, "john.doe@example.com")
preparedStatement.executeUpdate()
- 읽기 (Read)
val selectQuery = "SELECT * FROM users"
val statement = connection.createStatement()
val resultSet = statement.executeQuery(selectQuery)
while (resultSet.next()) {
val name = resultSet.getString("name")
val email = resultSet.getString("email")
println("User: $name, Email: $email")
}
- 갱신 (Update)
val updateQuery = "UPDATE users SET email = ? WHERE name = ?"
val preparedStatement = connection.prepareStatement(updateQuery)
preparedStatement.setString(1, "new.email@example.com")
preparedStatement.setString(2, "John Doe")
preparedStatement.executeUpdate()
- 삭제 (Delete)
val deleteQuery = "DELETE FROM users WHERE name = ?"
val preparedStatement = connection.prepareStatement(deleteQuery)
preparedStatement.setString(1, "John Doe")
preparedStatement.executeUpdate()
데이터베이스 연동의 중요성
- JDBC를 사용한 데이터베이스 연동은 Kotlin 애플리케이션에서 데이터를 저장하고 관리하는 효과적인 방법입니다.
- 적절한 예외 처리와 자원 관리를 통해 안정적인 데이터베이스 연동을 보장할 수 있습니다.
728x90
반응형
'Kotlin' 카테고리의 다른 글
Kotlin과 데이터베이스 마이그레이션: 효과적인 스키마 관리 (24) | 2024.01.03 |
---|---|
Kotlin과 Spring Data JPA를 사용한 데이터베이스 상호 작용 (26) | 2024.01.03 |
Kotlin과 데이터베이스 연동: 기본 개념과 기술 (24) | 2024.01.02 |
Kotlin과 Spring Boot에서의 예외 처리 및 에러 핸들링 (23) | 2024.01.02 |
Kotlin과 Spring Boot 프로젝트 구조 및 모듈화 (24) | 2024.01.02 |