Basic
Introduction
Project setup
Create a project with Amper.
Update module.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-coremodule 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:
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:jdbcespecifica que aquesta és una connexió JDBC.h2indica que la base de dades és una base de dades H2.memespecifica 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.Driverespecifica el controlador JDBC H2 que s’utilitzarà per establir la connexió.
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.
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ó