Escriu per cercar…

Basic

Introduction

Project setup

Create a project with Amper.

Update module.yaml:

yaml
product: jvm/app
dependencies:
  - org.jetbrains.exposed:exposed-core:1.0.0-beta-5
  - org.jetbrains.exposed:exposed-jdbc:1.0.0-beta-5
  - org.jetbrains.exposed:exposed-r2dbc:1.0.0-beta-5
  - com.h2database:h2:2.2.224
test-dependencies:
  - io.kotest:kotest-assertions-core:5.9.0
  • The exposed-core module provides the foundational components and abstractions needed to work with databases in a type-safe manner and includes the DSL API.

  • El mòdul exposed-jdbc és una extensió del mòdul exposed-core que afegeix suport per a Java Database Connectivity (JDBC).

Database connection

R2DBC (Reactive Relational Database Connectivity) is a non-blocking, asynchronous alternative to JDBC. Exposed’s R2DBC support enables integration with Kotlin coroutines.

The R2dbcDatabase class represent a database instance, and encapsulates the necessary connection details and configuration required to interact with a specific database.

To configure the database connection, use the R2dbcDatabase.connect() function.

Whenever you access a database, you start by getting a connection and creating a transaction.

Create file test/TaslTest.kt:

kotlin
test/TaskTest.kt
import org.jetbrains.exposed.v1.jdbc.Database
import kotlin.test.Test

class TaskTest {
    @Test
    fun testConnection() {
        R2dbcDatabase.connect("jdbc:h2:mem:test", driver = "org.h2.Driver")
    }
}

La funció Database.connect() crea una instància d’una classe que representa la base de dades i pren dos o més paràmetres. En aquest cas, l’URL de connexió i el controlador.

  • jdbc:h2:mem:test és l’URL de la base de dades per connectar-se:

    • jdbc especifica que aquesta és una connexió JDBC.
    • h2 indica que la base de dades és una base de dades H2.
    • mem especifica que la base de dades està en memòria, el que significa que les dades només existiran en memòria i es perdran quan l’aplicació s’aturi.
    • test és el nom de la base de dades.
  • org.h2.Driver especifica el controlador JDBC H2 que s’utilitzarà per establir la connexió.

Note

Tingues en compte que invocar Database.connect() només configura els paràmetres de connexió, però no estableix immediatament una connexió amb la base de dades. La connexió real amb la base de dades s’establirà més tard quan es realitzi una operació de base de dades.

Note

Per defecte, Exposed registra automàticament la connexió a la base de dades. Pots canviar aquest comportament establint el paràmetre connectionAutoRegistration quan crides Database.connect().

Estàs llegint una vista prèvia.

Inicia sessió per llegir l'article complet. Qualsevol compte obre 4 articles gratuïts al mes; l'alumnat i el professorat llegeixen les pàgines del seu curs sense límit.

Inicia sessió