Der Datenbankbetrieb ist einer der unverzichtbaren Entwicklungsteile der aktuellen Systementwicklung, insbesondere in der aktuellen Big -Data -Ära. Datenbanken sind besonders wichtig. Aber verstehen Sie wirklich, wie Java und Datenbank verbunden sind?
Lassen Sie mich zuerst ein einfaches Beispiel für die Datenbankverbindung geben:
Paket com.java.dbtest; Import Java.sql.Connection; importieren java.sql.drivermanager; importieren java.sql.preeParedStatement; importieren java.sql.resultset; importieren java.sql.sqlexception; public class testConnection implementiert dbtest {public void selectUser () {// Setzen Sie den Datenbank -Treiber, Datenbankverbindungsadresse, Port, Name, Benutzername, Kennwort, String trivername = "oracle.jdbc.driver.oracledriver"; String url = "JDBC: Oracle: Thin: @LocalHost: 1521: BJPowerNode"; // Test ist der Datenbankname, 1521 ist der Standardport für eine Verbindung zum Datenbank -String user = "System". // aa ist das Benutzername String Passwort = "BJPowerNode"; // 123 ist das Kennwort, das Pstmt = NULL erstellt; ResultSet rs = null; // Datenbankverbindungsobjektverbindung conn = null; Versuchen Sie {// Oracle Database Driver Class.Forname (Treibername) reflektieren; // Datenbankverbindung abrufen conn = driverManager.getConnection (URL, Benutzer, Passwort); // Datenbankverbindungssystem Ausgabe system.out.println (conn); // SQL -Befehlsstring anpassen sql = "Auswählen * von t_user wobei user_id =?"; // Erstellen Sie das vorgefertigte Objekt unter dieser Verbindung unter dieser Verbindung pstmt = conn.preparestatement (SQL); // Die erste Parameterwert -Stamme übergeben, anstelle des ersten Fragezeichens pstmt.setstring (1, "root"); // Die Abfrageanweisung ausführen und die Daten in dem Ergebnisset -Objekt rs = pstmt.executeQuery () speichern; // Verschieben Sie den Zeiger in die nächste Zeile, um festzustellen, ob es Daten in RS gibt, wenn (rs.Next ()) {// Ausgabe von Abfrageergebnis -System.out.println ("Abfrage mit dem Namen [" + rs.getString ("user_id") + "】, sein Passwort ist:" + rs.getString ("Passwort"); } else {// Ausgabe von Abfrageergebnis system.out.println ("Keine Informationen mit Benutzername [" + rs.getString ("user_id") + "] wurde nicht gefunden"); }} catch (classNotFoundException e) {e.printstacktrace (); } catch (sqlexception e) {e.printstacktrace (); } endlich {try {if (rs! = null) {rs.close (); } if (pstmt! = null) {pstmt.close (); } if (conn! = null) {conn.close (); }} catch (sqlexception e) {e.printstacktrace (); }}} public static void main (String [] args) {new TestConnection (). SelectUser (); }}}Klicken Sie in der Hauptfunktion mit der rechten Maustaste und wählen Sie "als" => "Java-Anwendung" aus. Der Programmblock wird ausgeführt. In der Konsole können Sie das Run -Ergebnis sehen. Wenn Sie eine ähnliche Zeichenfolge wie "oracle.jdbc.driver.t4cconnection@7c242f04" geben, bedeutet dies, dass Sie erfolgreich verbunden sind. Die Betriebsergebnisse sind in der Abbildung dargestellt:
Lassen Sie uns dieses Verfahren kurz analysieren.
Dieses Programm ist ein Beispiel für Java, die eine Verbindung zur Oracle -Datenbank herstellt. Es verwendet JDBC, um den Betrieb der Verbindung mit der Datenbank zu vervollständigen. Daher ist es erforderlich, OJDBC14.jar einzuführen. Vor dem Vorgang müssen Sie zunächst das Objekt der Datenbank -Treiberklasse abrufen und das Datenbankverbindungsobjekt über das Treiberobjekt abrufen.
Class.Forname (DriverName) wird verwendet, um den Treiber durch Anwenden des Klassenreflexionsmechanismus zu laden. Die DriverManager -Klasse ist die Verwaltungsschicht von JDBC, die zwischen Benutzern und Treibern handelt. Es verfolgt verfügbare Treiber und stellt eine Verbindung zwischen der Datenbank und dem entsprechenden Treiber her.
Im Allgemeinen müssen Sie nur die Methode DriverManager.getConnection direkt in der Klasse verwenden, um eine Verbindung mit der Datenbank herzustellen.
Die vorbereitete Schnittstelle erbt Anweisung und ist eine Klasse, die zur Ausführung von Datenbankvorgängen verwendet wird. Vorbereitete Stattierung ist viel effizienter als eine Aussage, wenn sie mehrmals aufgerufen werden, so viele Menschen befürworten die Verwendung von PrepedStatement anstelle einer Erklärung.
Im folgenden Blog-Beitrag werde ich diesen Punkt im Detail einführen, "eingehendes Verständnis für die Aussage und die Vorbereitung". PreparedStatement kann als Befehlsklasse in .NET angesehen werden.
Die Ergebnis -Set -Schnittstelle ist in vielen Sprachen erschienen und speichert hauptsächlich die abgefragten Daten. Nach jeder Abfrage wird die nächste () -Methode normalerweise in der Java -Sprache verwendet, um die Daten zu lesen.