2013-08-13 6 views
12

Was ist der Unterschied zwischen javax.sql und java.sql Ich verstehe, dass javax.sql für JavaEE ist. oder liege ich falsch.Unterschied zwischen javax.sql und java.sql?

Ich habe Mühe, diesen Unterschied zu verstehen. Und ihre Nutzungsszenarien.

+0

Haben Sie die Paketdokumentation gelesen? Was hast du nicht verstanden? (http://docs.oracle.com/javase/7/docs/api/java/sql/package-summary.html und http://docs.oracle.com/javase/7/docs/api/javax/sql /package-summary.html) –

+1

Statt "javax.sql vs java.sql" zu denken, verwenden Sie einfach die Objekte, die Sie brauchen, und vergessen Sie, aus welchem ​​Paket sie stammen. Du machst dir Sorgen um das Falsche. :) –

+2

Gewählt, um wieder zu öffnen. Das ist eine würdige Frage und die Antwort ist nicht trivial. (IMO) –

Antwort

15

Was ist der Unterschied zwischen javax.sql ist und java.sql Ich verstehe, dass javax.sql für JavaEE ist.

Früher war es so, dass javax.sql für JDBC-Erweiterungen war, die in Java EE waren und nicht die Java SE, aber das änderte sich, wie von JDBC 3.

nun beide Pakete Teil von JDBC in Java SE sind, und Die Tatsache, dass es zwei Pakete gibt, ist nur eine historische Anomalie. (Und wie alle derartigen Anomalien bestehen die beiden Pakete weiterhin, da das Entfernen von einem zu Problemen mit der Abwärtskompatibilität führt.)

2

Java.sql

Bietet die API für den Zugriff auf und die Verarbeitung in einer Datenquelle gespeicherten Daten (in der Regel um eine relationale Datenbank), um die JavaTM-Programmiersprache verwendet wird.

. Diese API enthält ein Framework, mit dem verschiedene Treiber dynamisch installiert werden können, um auf verschiedene Datenquellen zuzugreifen. Obwohl die JDBCTM-API hauptsächlich darauf ausgerichtet ist, SQL-Anweisungen an eine Datenbank zu übergeben, ermöglicht sie das Lesen und Schreiben von Daten aus jeder Datenquelle mit einem Tabellenformat. Die Lese-/Schreibfunktion, die über die Schnittstellengruppe javax.sql.RowSet verfügbar ist, kann angepasst werden, um Daten aus einem Tabellenblatt, einer Flat-Datei oder einer anderen tabellarischen Datenquelle zu verwenden und zu aktualisieren.

Javax.sql

Bietet die API für Serverseite Datenquelle Zugriff und die Verarbeitung von der JavaTM-Programmiersprache. Dieses Paket ergänzt das Paket java.sql und ist ab der Version 1.4 in der Java Platform Standard Edition (Java SETM) enthalten. Es bleibt ein wesentlicher Bestandteil der Java Platform, Enterprise Edition (Java EETM).

+2

Auch historisch wurden die Klassen in 'javax.sql' in einer optionalen Erweiterung zu JDBC2 definiert, aber in JDBC3 wurden sie Teil des normalen JDBC-Standards. –

+5

Diese beiden scheinen ähnlich zu sein. Was ist der Unterschied? Einer ist für den Zugriff auf Daten in einer Datenquelle und der andere ist für ... Zugriff auf Daten in einer Datenquelle? WTF? –

+0

Bitte gehen Sie durch, Hinzugefügt die wesentlichen Informationen aus Dokumenten :) –