Skelbimas

„Java“ teikia JDBC („Java DataBase“ ryšys) kaip „Java SDK“ (programinės įrangos kūrimo rinkinio) dalį. Naudojant tai API, labai lengva prisijungti prie a reliacinė duomenų bazė Taigi, kas vis dėlto yra duomenų bazė? [„MakeUseOf“ paaiškina]Programuotojui ar technologijos entuziastams duomenų bazės idėja yra kažkas, ką tikrai galima laikyti savaime suprantamu dalyku. Tačiau daugeliui žmonių pati duomenų bazės sąvoka yra šiek tiek svetima ... Skaityti daugiau ir atlikti įprastas operacijas, tokias kaip užklausos, įterpimas, atnaujinimas ir naikinimas.

Nors pagrindinė JDBC API yra įtraukta į „Java“, norint prisijungti prie tam tikros duomenų bazės, tokios kaip „MySQL“ ar „SQL Server“, reikalingas papildomas komponentas, žinomas kaip duomenų bazės tvarkyklė. Ši duomenų bazės tvarkyklė yra programinės įrangos komponentas, kuris paverčia pagrindinius JDBC skambučius į formatą, suprantamą toje duomenų bazėje.

Šiame straipsnyje pažiūrėkime apie prisijungimo prie „MySQL“ duomenų bazės informaciją ir kaip su ja atlikti keletą užklausų.

instagram viewer

„MySQL“ duomenų bazės tvarkyklė

Kaip paaiškinta aukščiau, norint prisijungti prie „MySQL“ duomenų bazės, reikia „JDBC“ tvarkyklės, skirtos „MySQL“. Tai vadinama „Connector / J“ tvarkykle ir ją galima atsisiųsti iš „MySQL“ svetainė čia.

Atsisiuntę ZIP (arba TAR.GZ) failą, išskleiskite archyvą ir nukopijuokite JAR failą „mysql“ jungtis-„Java“ - „bin.jar“ į tinkamą vietą. Šis failas reikalingas norint paleisti bet kurį kodą, kuriame naudojama „MySQL JDBC“ tvarkyklė.

Pavyzdinės duomenų bazės kūrimas

Darant prielaidą, kad atsisiuntėte MySQL duomenų bazę ir tinkamai nustatykite Kaip įdiegti "MySQL" duomenų bazę "Windows"Jei dažnai rašote programas, kurios jungiasi prie duomenų bazių serverių, malonu, jei žinote, kaip bandymo tikslais įdiegti „MySQL“ duomenų bazę „Windows“ kompiuteryje. Skaityti daugiau kur turite prieigą prie jos, leiskite mums sukurti pavyzdinę duomenų bazę, kad galėtume ją naudoti norėdami sujungti ir atlikti užklausas.

Prisijunkite prie duomenų bazės naudodami pasirinktą klientą ir vykdykite šiuos teiginius, kad sukurtumėte duomenų bazės pavyzdį.

sukurti duomenų bazės pavyzdį; 

Mums taip pat reikia vartotojo vardo ir slaptažodžio, kad galėtume prisijungti prie duomenų bazės (nebent norite prisijungti kaip administratorius, o tai dažniausiai yra bloga idėja).

Tai sukuria vartotoją vardu testuotojas kas prisijungs prie MySQL duomenų bazės iš to paties kompiuterio, kuriame ji veikia (pažymėta vietinis dvasininkas), naudodamiesi slaptažodžiu Securepwd.

sukurti vartotojo 'testuser' @ 'localhost', identifikuojamą 'Securepwd'; 

Jei jungiatės prie duomenų bazės, veikiančios kitame kompiuteryje (pavadinimu Remotemc), turite naudoti šiuos (Remotemc gali būti pagrindinio kompiuterio vardas arba IP adresas):

sukurti vartotojo 'testuser' @ 'remotemc', identifikuojamą 'Securepwd'; 

Dabar, kai buvo sukurtas vartotojo vardas ir slaptažodis, turime suteikti prieigą prie anksčiau sukurtos pavyzdžių duomenų bazės.

Suteikti visiems pagal pavyzdį. * „testuser“ @ „localhost“; 

Arba, jei duomenų bazė yra nuotolinė:

suteikti visiems imtims. * 'testuser' @ 'remotemc'; 

Dabar turėtumėte patikrinti, ar galite prisijungti prie duomenų bazės Kaip įdiegti "MySQL" duomenų bazę "Windows"Jei dažnai rašote programas, kurios jungiasi prie duomenų bazių serverių, malonu, jei žinote, kaip bandymo tikslais įdiegti „MySQL“ duomenų bazę „Windows“ kompiuteryje. Skaityti daugiau kaip vartotojas, kurį ką tik sukūrėte su tuo pačiu slaptažodžiu. Taip pat po prisijungimo galite paleisti šias komandas, kad įsitikintumėte, jog visi leidimai yra teisingi.

sukurti stalo joe (id int pirminis raktas auto_increment, vardas varchar (25)); lašas stalo Joe; 

Nustatykite „Java“ klasės kelią

Leiskite mums dabar susipažinti su informacija apie tai, kaip prisijungti prie MySQL iš „Java“ 10 pagrindinių „Java“ sąvokų, kurių turėtumėte išmokti pradėjęNesvarbu, ar rašote GUI, kuriate serverio programinę įrangą, ar mobiliąją programą naudodami „Android“, „Java“ mokymasis jums bus naudingas. Čia yra keletas pagrindinių „Java“ sąvokų, kurios padės jums pradėti. Skaityti daugiau . Pirmasis žingsnis yra įkelti duomenų bazės tvarkyklę. Tai atliekama šaukiant toliau nurodytą vietą tinkamoje vietoje.

Class.forName („com.mysql.jdbc. Vairuotojas “); 

Kodas gali sukelti išimtį, todėl jūs galite jį sugauti, jei ketinate su ja susidoroti (pvz., Suformatuokite GUI klaidos pranešimą).

išbandykite {Class.forName ("com.mysql.jdbc. Vairuotojas “); } pagauk („ClassNotFoundException ex“) {// čia naudokis išimtimi. }

Labai įprasta naudoti šį kodą statiniame klasės bloke, taigi, jei tvarkyklės nepavyksta įkelti, programa iškart sugenda.

visuomenės klasės pavyzdys. {static {try {Class.forName ("com.mysql.jdbc." Vairuotojas “); } pagauti („ClassNotFoundException ex“) {System.err.println („Nepavyko įkelti„ MySQL tvarkyklės “); } } }

Žinoma, kad būtų galima rasti tvarkyklę, į programą turi būti įtraukta tvarkyklės JAR (atsisiųsta ir ištraukta aukščiau), įtraukta į klasės kelią, kaip nurodyta toliau.

„Java“ -cp „mysql“ jungtis-„Java“-bin.jar:... 

Prisijungimas prie „MySQL“ iš „Java“

Dabar, kai išsklaidėme „MySQL“ tvarkyklės įkėlimo iš „Java“ duomenis, leiskite mums prisijungti prie duomenų bazės. Vienas būdas sukurti duomenų bazės ryšį yra naudoti „DriverManager“.

Eilutė jdbcUrl =...; Connection con = DriverManager.getConnection (jdbcUrl); 

Ir kas yra jdbcUrl? Tai nurodo išsamią ryšio informaciją, įskaitant serverį, kuriame yra duomenų bazė, vartotojo vardą ir pan. Čia yra mūsų pavyzdžio URL pavyzdys.

Eilutė jdbcUrl = "jdbc: mysql: // localhost / sample? vartotojas = testuotojas ir slaptažodis = secrepwd "; 

Atminkite, kad įtraukėme visus prisijungimui reikalingus parametrus, įskaitant pagrindinio kompiuterio vardą (vietinis dvasininkas), vartotojo vardą ir slaptažodį. (Tokio slaptažodžio įtraukimas NĖRA gera praktika, alternatyvų ieškokite žemiau.)

Naudojant tai jdbcUrl, čia yra visa programa, skirta patikrinti jungiamumą.

visuomenės klasės pavyzdys. {static {try {Class.forName ("com.mysql.jdbc." Vairuotojas “); } pagauti („ClassNotFoundException ex“) {System.err.println („Nepavyko įkelti„ MySQL tvarkyklės “); }} statinis viešas tuštumos pagrindinis (stygų [] args) metimas Išimtis {String jdbcUrl = "jdbc: mysql: // localhost / sample? vartotojas = testuotojas ir slaptažodis = securepwd "; Connection con = DriverManager.getConnection (jdbcUrl); „System.out.println“ („Prisijungta!“); uždaryti (); } }

Atminkite, kad duomenų bazės ryšys yra brangus programos šaltinis ir turi būti tinkamai uždarytas, kaip aprašyta aukščiau. Aukščiau pateiktas kodas neužbaigia ryšio išimties atveju. Norėdami uždaryti ryšį normaliai ar nenormaliai išvykdami, naudokite šį modelį:

pabandykite („Connection con = DriverManager.getConnection“ (jdbcUrl)) {System.out.println („Connected!“); }

Kaip minėta aukščiau, bloga idėja įterpti slaptažodį į JDBC URL. Norėdami tiesiogiai nurodyti vartotojo vardą ir slaptažodį, galite naudoti šią ryšio parinktį.

Eilutė jdbcUrl = "jdbc: mysql: // localhost / sample"; pabandykite („Connection con = DriverManager.getConnection“ („jdbcUrl“, „testuser“, „securepwd“)) { }

Duomenų bazės užklausa iš „Java“

Dabar, kai užmegztas ryšys su duomenų baze, pažiūrėkime, kaip atlikti užklausą, pavyzdžiui, užklausti duomenų bazės versiją:

pasirinkti versiją (); 

„Java“ užklausa vykdoma taip. A Pareiškimas objektas yra sukurtas ir užklausa vykdoma naudojant vykdyti „Query “() metodas, kuris grąžina a „ResultSet“.

Styginių užklausa String = "pasirinkti versiją ()"; Pareiškimas stmt = con.createStatement (); ResultSet rset = stmt.executeQuery (queryString); 

Spausdinkite versiją iš „ResultSet“ taip. 1 nurodo rezultatų stulpelio rodyklę, pradedant nuo 1.

while (rset.next ()) {System.out.println ("Versija:" + rset.getString (1)); }

Apdorojant rezultatus, objektus reikia uždaryti.

rset.klose (); stmt.klose (); 

Tai apima viską, ką reikia prisijungti prie „MySQL“ iš „Java“ ir atlikti paprastą užklausą.

Ar savo projektuose naudojote JDBC su MySQL? Kokių problemų, jei tokių buvo, kilo su duomenų bazėmis ir „Java“? Praneškite mums toliau pateiktuose komentaruose.