CodeGym/Java kursus/All lectures for DA purposes/Tilslutning til databasen fra en Java-applikation

Tilslutning til databasen fra en Java-applikation

Ledig

Java DataBase Connectivity

Du kender det grundlæggende i SQL. Det er godt. Men i dag vil du føle dig endnu bedre. I dag vil du begynde at lære at arbejde med en database fra en Java-applikation.

Der er mange forskellige DBMS, så skaberne af Java besluttede at standardisere, hvordan en Java-applikation fungerer med databaser. Og de kaldte denne standard - JDBC : Java DataBase Connectivity .

JDBC har 3 hovedgrænseflader:

  • Forbindelse - ansvarlig for tilslutning til databasen
  • Erklæring - ansvarlig for forespørgsel i databasen
  • ResultSet - ansvarlig for resultatet af forespørgslen til databasen

Faktisk er det alt. Og vi vil ikke engang lære alle metoder for alle grænseflader. Kun arbejdseksempler, som vi gradvist vil komplicere.

JDBC minder lidt om at arbejde med servlets. Skaberne af JDBC har skrevet flere grænseflader og kalder det stolt Java DataBase API. Og implementeringen af ​​disse grænseflader blev tildelt ... skaberne af DBMS. Hvordan det er implementeret der - ingen er ligeglad. Fungerer fint.

Der er fire versioner af JDBC, og vi vil se på den seneste. Og ikke fordi hun er den sejeste, men fordi hun er den simpleste.

JDBC Driver Manager

Java-applikationen og databasen kommunikerer med hinanden gennem et bibliotek kaldet JDBC-driveren. Dette er et sæt klasser, der implementerer JDBC API for et bestemt DBMS.

Den korrekte JDBC-driver vælges ved hjælp af en klasse kaldet DriverManager . Deres interaktion kan repræsenteres som følger:

Sagen er, at du kan bruge In-Memory-DB, No-SQL-DB eller endda en database indbygget i en Android-app. Som Java-udvikler bekymrer disse nuancer dig overhovedet ikke. Driver Manager vil vælge den korrekte JDBC-driver til dig, og alt vil fungere som smurt.

Forresten, hvordan gør han det?

Opretter forbindelse til MySQL-server

Kan du huske, hvad du havde brug for for at oprette forbindelse til en lokal SQL-server gennem MySQL Workbench? Hvis jeg glemte det, så minder jeg dig om, at du havde brug for tre ting:

  • vært
  • Log på
  • adgangskode

Alt er klart med login og adgangskode, og host, hvis du husker det, er navnet på den computer, serveren er placeret på. Hvis det er placeret på din lokale computer, skal du angive localhost som værtsnavn. Hvad hvis det ikke er lokalt?

Så skal du bruge ... URL. URL står for Universal Resource Locator . Det kan bruges til at angive placeringen af ​​alt på netværket: et websted, en printer, en SQL-server. Faktisk bruges URL'en også til at få adgang til den lokale SQL-server. Det ser sådan ud:

mysql://localhost:3306/db_scheme
  • mysql er en serverprotokol
  • localhost - værtsnavn på netværket
  • 3306 - port, hvorpå der forespørges
  • db_skema - skemanavn (databasenavn)

Bemærk. Databasenavnet kan udelades. Men hvis serveren gemmer mange databaseskemaer, oprettes der normalt forskellige brugere og forskellige adgangsrettigheder til dem. Og hvis den bruger, som du logger på SQL-serveren under, ikke har adgang til alle databaser, så skal du helt sikkert angive navnet på den specifikke database, du har adgang til.

I slutningen af ​​denne url kan der være forskellige parametre, kodningstyper, tidszone, som betragtes som parametre for den nye databaseforbindelse, der etableres.

Protokollen kan også være sammensat. Hvis al kommunikation med databaseserveren foregår over en krypteret kanal ved hjælp af SSH-protokollen, kan URL'en angives således:

ssh:mysql://localhost:3306/db_scheme

En protokol er ikke nødvendigvis et eksternt program. For eksempel, hvis du arbejder med en server, der bruger JNDI-protokollen, kan du angive det sådan:

jndi:mysql://localhost:3306/db_scheme

Og hvis du vil arbejde med JDBC API-protokollen, skal du skrive sådan her:

jdbc:mysql://localhost:3306/db_scheme

Når du forsøger at oprette en databaseforbindelse, parser JDBC Driver Manager din SQL-db-URL og bestemmer JDBC-drivernavnet ud fra protokolnavnet. Her er sådan et lille trick.

Kommentarer
  • Populær
  • Ny
  • Gammel
Du skal være logget ind for at skrive en kommentar
Denne side har ingen kommentarer endnu