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.
