Wie kann ich mit Scala eine Verbindung zu einer MySQL-Datenbank herstellen?

7

Ich arbeite an einem kleinen Projekt, bei dem ich Daten analysieren und in eine Datenbank schreiben möchte. Ich arbeite nicht mit Lift, und ich war nicht in der Lage, eine Standardmethode dafür zu finden.

Mir geht es gut, die Abfragen selbst zu schreiben, aber ich bin mir nicht sicher, was ich verwenden soll, um tatsächlich eine Verbindung zur DB herzustellen.

    
Dan G 19.06.2010, 20:08
quelle

6 Antworten

11

Sie können JDBC verwenden - das Standardverfahren, mit dem Java dazu gebracht wird, mit Datenbanken zu kommunizieren. Sie benötigen den entsprechenden MySQL JDBC -Treiber. Apache DbUtils stellt einige Hilfsklassen für JDBC zur Verfügung und wäre nützlich.

Wenn Sie eine API auf höherer Ebene haben möchten, die einen Teil des Boilerplate herausnimmt, dann schauen Sie sich Die JDBC-Integration von Spring .

Wenn Sie ein ORM (objektrelationales Mapping) wünschen, ist Hibernate eine gute Wahl.

Ich habe alle drei in Scala mit Erfolg benutzt.

    
Brian Agnew 19.06.2010, 20:11
quelle
5

Ich habe tatsächlich eine SQL-Befehlsshell in Scala geschrieben, die mit jeder beliebigen Datenbank kommuniziert, für die ein JDBC-Treiber verwendet wird existiert. Wie Brian Agnew bemerkt, funktioniert es perfekt. Darüber hinaus gibt es Tools wie Querulous , SQueryL und OR / Broker , die Scala-freundliche Datenbanklayer bereitstellen. Sie sitzen oben auf JDBC, aber sie bieten einige zusätzliche Semantik (in einigen Fällen über DSLs), um die Dinge für Sie einfacher zu machen.

    
Brian Clapper 19.06.2010 22:41
quelle
4
Natürlich können Sie alle Java-Versionen verwenden, die mit JDBC kompatibel sind (Hibernate, Spring usw.), aber zur besseren Verwendung der Sprache Scala empfehle ich die Verwendung eines Scala-spezifischen Frameworks, das eine bessere DSL hat.

  • ScalaQuery ist eine API / DSL (domänenspezifische Sprache), die auf JDBC basiert, um auf relationale Datenbanken in Scala zuzugreifen. Es wurde mit folgenden Zielen konzipiert:
  • Squeryl ist ein Scala ORM und DSL, um mit Datenbanken mit minimaler Ausführlichkeit und maximaler Typsicherheit zu kommunizieren
  • SORM ist ein Scala ORM-Framework, das entwickelt wurde, um Standardcode zu eliminieren und die Probleme der Skalierbarkeit mit einer Abstraktion auf hohem Niveau und einem funktionalen Programmierstil zu lösen / li>
  • Slick - Typsicheres Projekt mit funktionaler relationaler Zuordnung

Weitere Informationen zu diesen Frameworks finden Sie unter Ссылка

    
Daniel Cukier 13.01.2014 18:13
quelle
3

Versuchen Sie O / R Broker :

%Vor%     
nilskp 29.06.2010 19:38
quelle
2

Der Vollständigkeit halber sollten Sie auch RichSQL ausprobieren. Es ist ein Demo-Code, der zeigt, wie man JDBC umwandelt, um mehr Scala-ähnliche Operationen auszuführen, aber es ist tatsächlich ziemlich brauchbar. Es hat den Vorteil, einfach und klein zu sein, so dass Sie die Quelle einfach studieren können, um zu sehen, was vor sich geht. Vergessen Sie nicht, Ihre PreparedStatements zu schließen ().

    
DrGary 21.06.2010 15:39
quelle
1

Ich habe gerade ScalikeJDBC entdeckt, das einen Scala-ähnlichen API-Wrapper für JDBC anbietet .

(Ich habe ScalikeJDBC gefunden, als ich untersucht habe, wie man benutzt ScalaAnorm ohne Play Framework Nun sieht es so aus, als würde ich Anorm nicht brauchen für mein Projekt.)

Hier ist ein einfaches Beispiel, obwohl es viele interessante Funktionen bietet, die hier nicht gezeigt werden:

%Vor%

Einige Dokumentationslinks:

Peter Lamberg 02.01.2016 15:32
quelle

Tags und Links