Hur ansluter jag till databas i Java? - Gränssnitt och JDBC-drift

Innehållsförteckning:

Anonim

Hur ansluter jag till databas i Java?

När du skriver en IT-applikation med alla programmeringsspråk tjänar flödet av data från och till applikationen kärnfunktionaliteten. Om dataflödet på något sätt påverkas kan det påverka applikationens funktionalitet negativt och kan orsaka stora förluster för företaget.

Det finns olika metoder idag för att ansluta ditt program till en databas för att ge användarna den information de begär för, samla in information från användare, ta bort informationen som krävs av användaren och också för att uppdatera data till databasen dagligen.

Vi kommer att undersöka en sådan metod genom att använda Java som vårt programmeringsspråk, JDBC som databasanslutningsmetod och följa den objektorienterade metoden.

Vad är JDBC?

JDBC står för Java Database Connectivity och det hjälper ett Java-program att utföra olika typer av operationer över databasen som att skapa, läsa, uppdatera och radera. Dessutom är JDBC ett Java API.

Genom att använda JDBC bör en programmerare kunna:

  • Upprätta en anslutning till databasen
  • Kör SQL-kommandon genom att skicka det till databasen
  • Tolkar resultaten som kommer från databasen

Skapa en databas för att ansluta databas i Java

Innan du arbetar med JDBC krävs det att ha en databas för att ansluta till den. Vi kommer att använda Oracle-databasen för vår illustrations skull. Ladda ner oracle 11g expressutgåva från länken nedan.

https://www.oracle.com/technetwork/products/express-edition/overview/index-100989.html

Jag har redan installerat Oracle 10g-installationsprogram som jag kan se nedan:

Källa : Från mitt skrivbord

  • Dubbelklicka på installationsprogrammet, nedanför skärmen dyker upp. Klicka på nästa.

Källa : Från mitt skrivbord

  • Acceptera licensavtalet och klicka på nästa.

Källa : Från mitt skrivbord

  • Behåll standardinställningarna som de och klicka på nästa.

Källa : Från mitt skrivbord

  • Den kommer att be om ett lösenord som krävs när du loggar in på Oracle 11g-instansen. Ange lösenordet och klicka på nästa.

Källa : Från mitt skrivbord

  • När du har angett lösenordet kommer installationsprocessen att börja. När installationen är klar ska en genvägsikon skapas på din stationära skärm. Om du inte hittar det, gå till Windows start och leta efter Oracle, du bör få det. Klicka på den så öppnas en tunn klient för dig via en webbläsare. Logga in på instansen. Observera att användarnamnet kommer att vara samma för Oracle DB dvs. system. Lösenordet är det du angav när du konfigurerade databasen.

Källa: Från mitt skrivbord

  • När du väl loggar in kommer den allra första skärmen du ser ut att se ut nedan:

Källa: Från mitt skrivbord

  • Låt oss nu skapa en tabell. Klicka på SQL-modulen från skärmen ovan och kör nedanstående fråga.

Källa: Från mitt skrivbord

  • Som ni ser har vi framgångsrikt skapat en tabell med namnet Educba.

Anslut databas i Java

Det finns få gränssnitt och klasser som används för att ansluta till en databas och utföra operationer med JDBC API.

Vi kommer att förklara en efter en, men låt mig först presentera följande program:



Källa: Från mitt skrivbord

Nedan visas gränssnitten som vi kommer att använda för att ansluta till databasen och utföra operationer över den:

  1. Driver Manager
  2. Förbindelse
  3. Påstående
  4. Resultatet satt
  5. Förberett uttalande

Låt oss titta på de operationer som vi kan utföra som en del av JDBC-operationen.

  1. Lagra informationen från en enhet till en databas, dvs. skapa operationen
  2. Hämta data till enheten eller en böna från en databas
  3. Uppdatera data för enheten eller bönan i databasen
  4. Ta bort eller ta bort informationen om enheten eller en böna från databasen.

Oavsett vilken operation vi utför, finns det några grundläggande steg som skulle förbli desamma:

1. Ladda föraren.

Class. forName ("oracle.jdbc.driver.OracleDriver");

2. Skapa en URL-sträng

String url="jdbc:oracle:thin:@172:.26.132.40:1521:orclilp";

3. Använd drivrutinhanteraren för att skapa en anslutning

con=DriverManager.getConnection(URL, USERNAME, PASSWORD);

4. Använd anslutningsreferens för att skapa uttalande

stmt = conn.createStatement();

5. Använd ett uttalande för att köra frågan

6. Behandla resultatuppsättningen (valfritt, beror)

7. Släpp resurserna i slutligen blockera.

Illustration

Eftersom vi använder Oracle-databasen i vår illustration, måste vi ha den drivrutin som ska tillhandahållas av Oracle. Förarklassen är vanligtvis i form av burkfil med namnet ojdbc14.jar. Den här drivrutinen bör importeras till ditt java-program som en del av "Referenced Libraries" om det inte finns där.

Om du har installerat Oracle 11g i din C-mapp kan den idealiskt hittas i nedanstående sökväg: (Om den inte är där kan den enkelt laddas ner här)

C: \ oraclexe \ app \ orakel \ produkten \ 10.2.0 \ server \ JDBC \ lib

Källa: Från mitt skrivbord

Många burkfiler bör finnas tillgängliga men ojdbc14.jar är den senaste. Detsamma kan användas för vårt syfte. Denna burk bör läggas till projektets klassväg. Kontrollera bilden nedan.

Källa: Från mitt skrivbord

Låt oss skapa en artisttabell med följande attribut: (Du kan direkt köra SQL-kommandoraden som kommer som en separat modul i Oracle Express-utgåvan. Men först måste du ansluta och du kan köra kommandot "connect" för att ansluta till databasen.

Källa: Från mitt skrivbord

Som en del av denna illustration skulle vi skapa tre java-klasser, dvs Artist.java, CreateTable.java och ArtistManagementDao.java för att uppnå detta.

Även i java-lagret måste vi skapa en klass som heter Artist bean. Den här klassen ska ha attribut för konstnären med ovanstående sammanhang. Det ser ut så här nedan:

Artist.java

Låt oss skapa två andra java-klasser med namnet ArtistManagementDao och CreateTable.java

ArtistManagementDao.java

package com;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;
public class ArtistManagementDao (
private final static String DRIVERNAME="oracle.jdbc.driver.OracleDriver";
private final static String URL="jdbc:oracle:thin:@LENOVO-PC:1521:XE";
private final static String USERNAME="System";
private final static String PASSWORD="Your DB password";
private Connection con =null;
public void addArtist(Artist a)
(
try (
Class.forName(DRIVERNAME);
String sql="insert into Artist1 values (?, ?)";
con=DriverManager.getConnection(URL, USERNAME, PASSWORD);
PreparedStatement pst=con.prepareStatement(sql);
pst.setString(1, a.getArtistID());
pst.setString(2, a.getArtistName());
pst.executeUpdate();
) catch (ClassNotFoundException e) (
// TODO Auto-generated catch block
System.out.println(e);
) catch (SQLException e) (
System.out.println(e);
)
)
)

CreateTable.java

package com;
import java.sql.*;
public class CreateTable(
static final String DB_URL = "jdbc:oracle:thin:@LENOVO-PC:1521:XE";
static final String USER = "System";
static final String PASS = "Your DB Password";
public static void main(String() args) (
Connection conn = null;
Statement stmt = null;
try(
ArtistManagementDao am=new ArtistManagementDao();
Artist a=new Artist();
Class.forName("oracle.jdbc.driver.OracleDriver");
System.out.println("Connecting to a selected database…");
conn = DriverManager.getConnection(DB_URL, USER, PASS);
System.out.println("Connected to database successfully");
System.out.println("Creating table");
stmt = conn.createStatement();
//ARTIST TABLE
String sql = "CREATE TABLE Artist3 " +
"(ArtistID varchar2(5) primary key not NULL, " +
" ArtistName varchar2(25))";
stmt.executeUpdate(sql);
System.out.println("Created table in given database…");
a.setArtistId("abc");
a.setArtistName("ankit");
am.addArtist(a);
System.out.println("\nArtistID="+a.getArtistID()+"\nArtistName="+a.getArtistName());
)catch(SQLException se)(
se.printStackTrace();
)catch(Exception e)(
e.printStackTrace();
)finally(
try(
if(stmt!=null)
conn.close();
)catch(SQLException se)(
)
try(
if(conn!=null)
conn.close();
)catch(SQLException se)(
se.printStackTrace();
)
)
)
)

CreateTable.java Förklaring:

1. Vi har först skapat DB URL som ska ha ditt datornamn samt DB-portnummer (helst 1521), föregående av JDBC: oracle: thin: @. Sedan har vi skapat användarnamn och lösenord för att skicka dessa attribut under databasanslutningen. Det rekommenderas starkt att kryptera dessa värden i produktionsmiljön.

2. I klassen CreateTable.java har vi skapat ett objekt "am" och "a" i ArtistManagementDao.java respektive Artist.java.

3. Sedan försökte vi upprätta vår anslutning genom att följa stegen som vi har lärt oss tidigare med hjälp av ett conn-uttalande.

4. Sedan har vi skapat en tabell med namnet Artist3 och uppdaterat databasen eller drivit den till databasen med hjälp av exekveringen.

5. Om vi ​​nu vill tilldela värden till attributen kommer vi att använda det objekt som vi har skapat för artistklass och notera, det är inte den här klassen som kommer att sätta in värdet till databasen, snarare kommer det att vara ArtistmanagementDao klass. Vi har redan lagrat värden i attribut från och med nu och vi kommer att se i dagsklassen hur man skjuter detta till databasen.

6. Slutligen har vi använt "am" -objektet från ArtistManagementDao för att överföra detta objekt "a" till metoden addArtist () från ArtistManagementDao java class.

7. Vi har också använt oss för att försöka fånga block för att fånga några undantag och kasta ut samma sak.

ArtistManagementDao Förklaring:

1. Dao-klassen hjälper oss att isolera applikations- / affärsskiktet från persistensskiktet. Detta är vanligtvis den relationsdatabas.

2. Vi har först skapat DB URL som ska ha ditt datornamn samt DB-portnummer (helst 1521), föregående av JDBC: oracle: thin: @. Sedan har vi skapat användarnamn och lösenord för att skicka dessa attribut under databasanslutningen. Det rekommenderas starkt att kryptera dessa värden i produktionsmiljön.

3. Inuti addArtist-metoden försökte vi upprätta vår anslutning genom att följa stegen som vi har lärt oss tidigare med hjälp av ett conn-uttalande.

4. Nu har vi använt infogningsmetoden för att skjuta värden från attribut till databasen.

5. I nästa uttalande, för att testa, har vi get-uttalandet för att hämta värden från databasen.

6. Vi har också använt oss för att försöka fånga block för att fånga några undantag och kasta ut samma sak.

Rekommenderade artiklar

Detta har varit en guide för hur du ansluter databas i java. Här har vi diskuterat Hur man ansluter databas i java tillsammans med gränssnitt och klasser som används för att ansluta en databas. Du kan också titta på följande artiklar för att lära dig mer -

  1. Vad är SQL Server?
  2. Är Big Data en databas?
  3. Hur JavaScript fungerar
  4. Flera avläsningsintervjuer i Java