Schreiben Sie SQL-Abfragen in Scala
- Schreiben Sie SQL-Abfragen in Scala
- Bezug zur Tabelle herstellen
- Wählen Sie in Scala Aus Datenbank aus
- Aktualisieren Sie eine Zeile in der Tabelle in Scala
- Löschen Sie eine Zeile in der Tabelle in Scala
- Abschluss
In diesem Artikel lernen wir, wie man mit Hilfe von Slick
SQL-Abfragen in Scala schreibt.
Schreiben Sie SQL-Abfragen in Scala
Slick
(Scala Language-Integrated Connection Kit) ist eine Scala-Bibliothek, die funktionales relationales Mapping bereitstellt, wodurch es einfach ist, relationale Datenbanken abzufragen und darauf zuzugreifen. Es ist von Natur aus typsicher.
Voraussetzungen:
-
Fügen Sie die
Slick
-Abhängigkeiten in der Scalasbt
-Datei hinzu.libraryDependencies += "com.typesafe.slick" %% "slick" % "3.3.1"
-
Stellen Sie eine Verbindung zu Datenbanken her, die Sie verwenden möchten, wie z. B. die PostgreSQL-Datenbank.
postgres { dataSourceClass = "org.postgresql.ds.PGSimpleDataSource" properties = { serverName = "localhost" portNumber = "5432" databaseName = "slickDemo" user = "ScalaDemo" password = "1234" } }
Nehmen wir an, wir haben in der Datenbank eine Tabelle students
mit folgenden Spalten: id
, name
, country
, dob
.
case class students(id:Long, name:String, country:String, dob:Option[LocalDate])
Lassen Sie uns nun Abfragen darauf schreiben.
Bezug zur Tabelle herstellen
Um aus der Tabelle Studenten
abzufragen, müssen wir zunächst eine Referenz darauf erstellen.
val studentTable = TableQuery[students]
Jetzt können wir studentTable
verwenden, um unsere Slick
-Abfragen zu schreiben.
Wählen Sie in Scala Aus Datenbank aus
Lassen Sie uns eine Abfrage schreiben, die äquivalent ist zu:
select * from students where country="Japan".
Die obige Abfrage liefert uns Informationen über Studierende aus Japan
.
Lassen Sie uns nun dieselbe Abfrage in Scala mit Slick
schreiben.
val students_from_Japan = studentTable.filter(_.country === "Japan")
Aktualisieren Sie eine Zeile in der Tabelle in Scala
Angenommen, wir möchten das Land für alle Schüler mit einer id
gleich 200
in Deutschland
ändern.
val updateQuery = studentTable.filter(_.id ===200).map(_.country).update("Germany")
In der obigen Abfrage haben wir zuerst die Zeilen mit id
gleich 200
gefiltert und dann ihre Länder auf Deutschland
aktualisiert.
Löschen Sie eine Zeile in der Tabelle in Scala
Lassen Sie uns einen Schülerdatensatz löschen, dessen Name "tony"
ist.
val deleteQuery = studentTable.filter(_.name==="tony").delete
In der obigen Abfrage haben wir zuerst die Zeilen mit Namen wie "tony"
gefiltert und dann gelöscht.
Abschluss
In diesem Artikel haben wir gesehen, wie man Slick
verwendet, um einige grundlegende SQL-Abfragen in Scala zu schreiben.