Hoe verbinding te maken met een database in Java? - JDBC-zelfstudie



In dit artikel wordt uitgelegd hoe u een MySQL-database in Java verbindt. JDBC is een van de standaard Java-API's voor databaseonafhankelijke connectiviteit tussen Java en een breed scala aan databases.

, een van de meest prominente programmeertalen, biedt uitgebreide ondersteuning voor databases. Het helpt ons om via (Java-databaseverbinding). In dit artikel zal ik u vertellen hoe u verbinding kunt maken met een database en query's kunt uitvoeren met JDBC.

Onderstaande onderwerpen komen aan bod in dit artikel:





Inleiding tot JDBC

JDBC is een van de standaard Java API's voor database-onafhankelijke connectiviteit tussen de en een breed scala aan databases.Met deze API kunt u de toegangsverzoekinstructies coderen in Structured Query Language (SQL). Dezeomvat voornamelijk het openen van een verbinding, het maken van een SQL-database, het uitvoeren van SQL-queries en vervolgens aankomen bij de uitvoer.

JDBC API kan worden gebruikt om toegang te krijgen tot tabelgegevens die zijn opgeslagen in elke relationele database. Hiermee kunt u de gegevens uit de databases bijwerken, opslaan, ophalen en verwijderen. Het is vergelijkbaar met de Open Database Connectivity (ODBC) van Microsoft.



Laten we voor een beter begrip van de werking van JDBC dieper ingaan op het onderwerp en de architectuur begrijpen die achter Java Database Connectivity schuilgaat.

Veelvoorkomende JDBC-componenten

De JDBC API biedt de volgende interfaces en klassen & minus

hoe double naar int te converteren
  • BestuurderManager: Dit wordt voornamelijk gebruikt om een ​​lijst met databasestuurprogramma's te beheren. De driver die een bepaald subprotocol herkent, wordt gebruikt om een ​​databaseverbinding tot stand te brengen.



  • De bestuurder is een interface die de communicatie met de databaseserver afhandelt. Het abstraheert ook de detailsdie zijn gekoppeld tijdens het werken met Driver-objecten.

  • Een connectie is een interface die bestaat uit alle methoden die nodig zijn om verbinding te maken met een database. Het verbindingsobject behandelt de communicatiefuncties van de database. context.

Laten we nu naar het volgende onderwerp gaan en de stappen bekijken die nodig zijn om een ​​JDBC-applicatie te maken.

Stappen om JDBC-applicatie te maken

Om een ​​JDBC-applicatie te maken, moet u een paar stappen volgen. Laten we eens kijken wat ze zijn.

Stappen om een ​​JDBC-applicatie te maken - Geavanceerde Java-zelfstudie - Edureka

  1. Importeer de pakketten: U moet alle pakketten opnemen die de JDBC-klassen bevatten die nodig zijn voor database programmeren . Meestal met importeer java.sql. * volstaat.

  2. Registreer het JDBC-stuurprogramma: Hier moet u een stuurprogramma initialiseren, zodat u een communicatiekanaal met de database kunt openen.

  3. Open een verbinding: Hier kunt u de getConnection () methode om een ​​Connection-object te maken dat een fysieke verbinding met de database vertegenwoordigt.

    expliciet type casten in java
  4. Voer een zoekopdracht uit: Dit vereist eigenlijk het gebruik van een object van het type Statement voor het bouwen en verzenden van een SQL-instructie naar de database.

  5. Gegevens extraheren uit de resultatenset: Het wordt aangeraden om het juiste getXXX () methode om de gegevens uit de resultatenset op te halen.

  6. Ruim het milieu op: Hier is het essentieel omsluit expliciet alle databasebronnen af ​​in plaats van te vertrouwen op de garbage collection van de JVM.

Nu u verschillende stappen heeft gezien die nodig zijn om een ​​JDBC-applicatie te maken, laten we eens kijken naar een voorbeeldcode om een ​​database te maken en een verbinding tot stand te brengen.

pakket Edureka import java.sql. * import java.sql.DriverManager public class Voorbeeld {// JDBC driver naam en database URL statische laatste String JDBC_DRIVER = 'com.mysql.jdbc.Driver' statische laatste String DB_URL = 'jdbc: mysql: // localhost / emp '// Database-inloggegevens static final String USER =' root 'static final String PASS =' 'public static void main (String [] args) {Connection conn = null Statement stmt = null try {// STAP 2 : Registreer JDBC-stuurprogramma Class.forName ('com.mysql.cj.jdbc.Driver') // STAP 3: Open een verbinding System.out.println ('Verbinden met database ...') conn = DriverManager.getConnection (DB_URL , 'root', '') // STAP 4: Voer een query uit System.out.println ('Creëren statement ...') stmt = conn.createStatement () String sql sql = 'SELECT id, first, last, age FROM ResultSet van werknemers rs = stmt.executeQuery (sql) // STAP 5: Gegevens extraheren uit resultatenset while (rs.next ()) {// Ophalen op kolomnaam int id = rs.getInt ('id') int age = rs.getInt ('age') String first = rs.getString ('first') String last = rs.getString ('last') // Toon waarden System.out.print ('ID:' + id) System.out.print (', Age:' + age) System.out.print (', First : '+ first) System.out.println (', Last: '+ last)} // STAP 6: Opschonen omgeving rs.close () stmt.close () conn.close ()} catch (SQLException se) {// Behandel fouten voor JDBC se.printStackTrace ()} catch (uitzondering e) {// Behandel fouten voor Class.forName e.printStackTrace ()} eindelijk {// blokkeer eindelijk gebruikt om bronnen te sluiten probeer {if (stmt! = null) stmt.close ()} catch (SQLException se2) {} // er kan niets worden gedaan probeer {if (conn! = null) conn.close ()} catch (SQLException se) {se.printStackTrace ()} // end final try} // end try System.out.println ('Goodbye!')} // end main} // end Voorbeeld

Bovenstaande code maakt een tabel in uw localhost-database. Om de waarden in de aangemaakte database in te voegen, kunt u de onderstaande code raadplegen. Ik zal de code alleen schrijven voor stap 4. De rest van de code blijft hetzelfde als hierboven.

// STAP 4: Voer een query uit System.out.println ('Tabel in gegeven database aanmaken ...') stmt = conn.createStatement () String sql = 'CREATE TABLE MEDEWERKERS' + '(id INTEGER niet NULL,' + 'eerste VARCHAR (255),' + 'laatste VARCHAR (255),' + 'leeftijd INTEGER,' + 'PRIMAIRE SLEUTEL (id))' stmt.executeUpdate (sql) System.out.println ('Tabel aangemaakt in gegeven database ... ') System.out.println (' Records invoegen in de tabel ... ') stmt = conn.createStatement () String sql =' INVOEGEN IN DE WAARDEN VAN DE werknemers (100, 'Kriss', 'Kurian', 18) 'stmt.executeUpdate (sql) sql =' INVOEGEN IN Werknemers WAARDEN (101, 'Enrique', 'John', 25) 'stmt.executeUpdate (sql) sql =' VOEG IN Werknemers (102, 'Taylor', 'Swift') , 30) 'stmt.executeUpdate (sql) sql =' INVOEGEN IN DE WAARDEN VAN werknemers (103, 'Linkin', 'Park', 28) 'stmt.executeUpdate (sql) System.out.println (' Records in de tabel ingevoegd. .. ')

Dit is dus hoe u een verbinding met de database tot stand kunt brengen en waarden in de tabellen kunt invoegen. Laten we nu verder gaan en verschillende typen JDBC-stuurprogramma's begrijpen

JDBC-stuurprogrammatypen

JDBC-stuurprogramma's worden gebruikt om de gedefinieerde interfaces in de JDBC-API te implementeren voor interactie met de databaseserver.In wezen een JDBC-stuurprogramma doet drie dingen en ze zijn als volgt:
1. Brengt een verbinding tot stand met een gegevensbron.
2. Het stuurt vragen en update-instructies naar de gegevensbron.
3. Ten slotte verwerkt het de resultaten.

JDBC-stuurprogramma's helpen u bijvoorbeeld om een ​​databaseverbinding te openen om ermee te communiceren door te verzenden . Als u meer wilt weten over typen JDBC-stuurprogramma's, kunt u dit artikel raadplegen op .

Laten we nu verder gaan en JDBC Connections begrijpen.

JDBC-verbindingen

  • JDBC-pakketten importeren: Toevoegen importeren verklaringen aan uw om vereiste klassen in uw Java-code te importeren.

    ansible vs marionet vs chef
  • Registreer JDBC-stuurprogramma: In t zijn stap, om de gewenste driverimplementatie in het geheugen te laden, zodat deze aan de JDBC-verzoeken kan voldoen. Er zijn 2 manieren om een ​​bestuurder te registreren.

    • De meest geschikte manier om een ​​bestuurder te registreren, is door Java's te gebruiken forName () methode om het klassenbestand van het stuurprogramma dynamisch in het geheugen te laden , die het automatisch registreert. Deze methode is geschikt omdat u hiermee de stuurprogramma-registratie configureerbaar en draagbaar kunt maken. Bekijk de onderstaande code:

      probeer {Class.forName ('oracle.jdbc.driver.OracleDriver')} catch (ClassNotFoundException ex) System.out.println ('Fout: kan stuurprogrammaklasse niet laden!') System.exit (1)}
    • De tweede benadering die u kunt gebruiken om een ​​stuurprogramma te registreren, is door het statische registerDriver () methode.

      probeer {Driver myDriver = new oracle.jdbc.driver.OracleDriver () DriverManager.registerDriver (myDriver)} catch (ClassNotFoundException ex) {System.out.println ('Fout: kan stuurprogrammaklasse niet laden!') System.exit (1 )}
  • U moet de registerDriver () methode als u een niet-JDK-compatibele JVM gebruikt, zoals degene die door Microsoft wordt geleverd. Hier heeft elk formulier een database nodig URL .

  • Database-URL-formulering: URL-formulering is nodig om een ​​correct opgemaakt adres te creëren dat verwijst naar de database waarmee u verbinding wilt maken. Nadat u het stuurprogramma heeft geladen, kunt u een verbinding tot stand brengen met behulp van het DriverManager.getConnection () methode. De methoden DriverManager.getConnection () zijn & minus

    • getConnection (String-url)

    • getConnection (String url, eigenschappen prop)

    • getConnection (String url, String gebruiker, String wachtwoord)

  • Maak een verbindingsobject

U kunt een verbinding tot stand brengen met behulp van de database-URL, gebruikersnaam en wachtwoord en ook met het eigenschappenobject.

  • Dichtbij

Ten slotte moet u alle databaseverbindingen sluiten om de databasesessie te beëindigen. Als u het echter vergeet, zal de garbagecollector van Java de verbinding verbreken wanneer deze verouderde objecten opruimt.

conn.close () // Wordt gebruikt om de verbinding te sluiten

Dat was alles over Java Database Connectivity. Als u meer wilt weten over JDBC, kunt u dit artikel raadplegen op . Dit brengt ons bij het einde van het artikel over ‘hoe u verbinding kunt maken met een database’. Ik hoop dat ik wat licht heb geworpen op uw kennis over JDBC.

Bekijk de door Edureka, een vertrouwd online leerbedrijf met een netwerk van meer dan 250.000 tevreden leerlingen verspreid over de hele wereld. We zijn hier om je te helpen bij elke stap op je reis, om naast deze Java-interviewvragen ook een curriculum te bedenken dat is ontworpen voor studenten en professionals die een Java-ontwikkelaar willen worden.

Heeft u een vraag voor ons? Vermeld het in het opmerkingengedeelte van dit artikel 'hoe u verbinding maakt met een database' en we nemen zo snel mogelijk contact met u op.