Java >> Java tutorial >  >> Tag >> Jdbc

Etablering af JDBC-forbindelse i Java

I dette indlæg lærer vi, hvordan man etablerer en JDBC-forbindelse, fra et Java-program til en oracle-database. Når vi har etableret en forbindelse, indsætter vi poster i den.

Du kan også tjekke vores Java Programming Database Tutorial i følgende video:

1. Introduktion

JDBC er et akronym for Java Database Connectivity. Det er et fremskridt for ODBC (Open Database Connectivity). JDBC er en standard API-specifikation udviklet til at flytte data fra front-end til back-end.

Denne API består af klasser og grænseflader skrevet i Java. Det fungerer dybest set som en grænseflade (ikke den vi bruger i Java) eller kanal mellem dit Java-program og databaser, dvs. det etablerer en forbindelse mellem de to, så en programmør kan sende data fra Java-kode og gemme dem i databasen og hente dem. til fremtidig brug.

Som tidligere fortalt er JDBC et fremskridt for ODBC, at ODBC var platformafhængig havde mange ulemper. ODBC API blev skrevet i C, C++, Python, Core Java og som vi ved ovenfor er sprog (undtagen Java og en del af Python) platformafhængige. For at fjerne afhængighed blev JDBC derfor udviklet af databaseleverandøren, som bestod af klasser og grænseflader skrevet i Java.

2. Trin til etablering af JDBC-forbindelse

Etablering af en JDBC-forbindelse og udførelse af SQL-forespørgsler fra java-program involverer fem trin:

2.1 Indlæs driveren

Til at begynde med skal du først indlæse driveren eller registrere den, før du bruger den i programmet. Tilmelding skal ske én gang i dit program. Du kan registrere en chauffør på en af ​​de to måder, der er nævnt nedenfor:

  • Class.forName() : Her indlæser vi førerens klassefil i hukommelsen ved kørsel. Intet behov for at bruge nyt eller oprettelse af objekt. Følgende eksempel bruger Class.forName() til at indlæse Oracle-driveren – Class.forName(“oracle.jdbc.driver.OracleDriver”);
  • DriverManager.registerDriver(): DriverManager er en indbygget Java-klasse med et statisk medlemsregister. Her kalder vi konstruktøren af ​​driverklassen på kompileringstidspunktet. Følgende eksempel bruger DriverManager.registerDriver() til at registrere Oracle-driveren – DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver())

2.2 Oprettelse af en forbindelse

Efter indlæsning af driveren skal du oprette forbindelser ved hjælp af:

Connection con = DriverManager.getConnection(url,user,password) 

bruger – brugernavn, hvorfra din sql-kommandoprompt kan tilgås.
adgangskode – adgangskode, hvorfra du kan få adgang til din sql kommandoprompt.

con: er en reference til Connection interface.
url :Uniform Resource Locator. Det kan oprettes som følger:

String url ="jdbc:oracle:thin:@localhost:1521:xe"

Hvor oracle er den anvendte database, er tynd den anvendte driver, @localhost er IP-adressen, hvor databasen er gemt, 1521 er portnummeret, og xe er tjenesteudbyderen. Alle 3 ovenstående parametre er af String-type og skal deklareres af programmøren, før funktionen kaldes. Brug af dette kan henvises fra endelig kode.

2.3 Opret en erklæring

Når en forbindelse er etableret, kan du interagere med databasen. Grænsefladerne Statement, CallableStatement og PreparedStatement definerer de metoder, der gør det muligt for dig at sende SQL-kommandoer og modtage data fra din database. Brugen af ​​erklæringen er som følger:

Statement st = con.createStatement();

Her er con en reference til forbindelsesgrænsefladen brugt i det foregående trin.

2.4 Udfør SQL-forespørgslerne

Nu kommer den vigtigste del, nemlig at udføre forespørgslen. Forespørgsel her er en SQL-forespørgsel. Nu ved vi, at vi kan have flere typer forespørgsler. Nogle af dem er som følger:

  • Forespørgsel til opdatering/indsættelse af tabeller i en database.
  • Forespørgsel til hentning af data.

executeQuery(SQL query) metode til Statement interface bruges til at udføre forespørgsler om at hente værdier fra databasen. Denne metode returnerer objektet i ResultSet, der kan bruges til at hente alle poster i en tabel.
executeUpdate(SQL query) metode til sætningsgrænseflade bruges til at udføre forespørgsler om opdatering/indsættelse.

Eksempel:

For Select SQL Query:

ResultSet rs= st.executeQuery("select * from studentinfo");

For ikke-valgt SQL-forespørgsel:

int rowCount= st.executeUpdate("delete from studentinfo where sid=1111");

2.5 Lukning af forbindelsen

Ved at lukke forbindelsen lukkes objekter af Statement og ResultSet automatisk. Close() metoden til Connection interface bruges til at lukke forbindelsen.

kon. close()

3. Implementering

Nu hvor vi forstod alle de involverede trin, lad os implementere dem programmatisk. Nedenstående kode indsætter data i Oracle-databasen.

Bemærk: Sørg for, at oracle ojdbc6.jar-filen er i classpath.DatabaseExample.java

import java.sql.*; 
import java.util.*; 
class Test 
{ 
    public static void main(String a[]) throws SQLException
    { 
        //Creating the connection 
        String url = "jdbc:oracle:thin:@localhost:1521:xe"; 
        String user = "system"; 
        String pass = "12345"; 
  
        //Entering the data 
        Scanner k = new Scanner(System.in); 
        System.out.println("enter name"); 
        String name = k.next(); 
        System.out.println("enter roll no"); 
        int roll = k.nextInt(); 
        System.out.println("enter class"); 
        String cls =  k.next(); 
  
        //Inserting data using SQL query 
        String sql = "insert into student1 values('"+name+"',"+roll+",'"+cls+"')"; 
        Connection con=null; 
        try
        { 
            //loading the driver
           Class.forName("oracle.jdbc.OracleDriver");
  
            //Reference to connection interface 
            con = DriverManager.getConnection(url,user,pass); 
  
            Statement st = con.createStatement(); 
            int m = st.executeUpdate(sql); 
            if (m == 1) 
                System.out.println("Data inserted successfully"); 
            else
                System.out.println("insertion failed"); 
        } 
        catch(Exception ex) 
        { 
            System.out.println("insertion failed"); 
            System.out.println(ex); 
        }
        finally
        {
            con.close();  //closing the connection
        }
    } 
} 

Når vi har indtastet dataene, gemmes dataene i databasen, og outputtet er som følger:Output

Data inserted successfully

4. Download kildekoden

Dette er et eksempel på etablering af JDBC-forbindelse i Java.

Java tag