Schreiben Sie SQL-Abfragen in Scala

Suraj P 21 Juni 2023
  1. Schreiben Sie SQL-Abfragen in Scala
  2. Bezug zur Tabelle herstellen
  3. Wählen Sie in Scala Aus Datenbank aus
  4. Aktualisieren Sie eine Zeile in der Tabelle in Scala
  5. Löschen Sie eine Zeile in der Tabelle in Scala
  6. Abschluss
Schreiben Sie SQL-Abfragen in Scala

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:

  1. Fügen Sie die Slick-Abhängigkeiten in der Scala sbt-Datei hinzu.

    libraryDependencies += "com.typesafe.slick" %% "slick" % "3.3.1"
    
  2. 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.

Autor: Suraj P
Suraj P avatar Suraj P avatar

A technophile and a Big Data developer by passion. Loves developing advance C++ and Java applications in free time works as SME at Chegg where I help students with there doubts and assignments in the field of Computer Science.

LinkedIn GitHub