Hirdetés
A Java biztosítja JDBC (Java DataBase kapcsolat) a Java SDK (szoftverfejlesztő készlet) részeként. Ennek használata API, nagyon könnyű csatlakozni a relációs adatbázis Tehát mi is az adatbázis? [MakeUseOf magyarázat]Programozó vagy technológiai rajongó számára az adatbázis fogalma valami, amit valószínűleg magától értetődőnek tekinthetünk. Sokak számára azonban az adatbázis fogalma egy kicsit idegen ... Olvass tovább és végezzen olyan általános műveleteket, mint a lekérdezés, beillesztés, frissítés és törlés.
Míg a központi JDBC API a java részét képezi, egy adott adatbázishoz, például a MySQL vagy az SQL Serverhez való csatlakozáshoz szükség van egy további összetevőre, az adatbázis-illesztőprogramra. Ez az adatbázis-illesztőprogram egy szoftverösszetevő, amely lefordítja a JDBC maghívásait az adatbázis által megértett formátumba.
Ebben a cikkben nézzük meg a MySQL adatbázishoz történő kapcsolódás részleteit, valamint azt, hogy hogyan lehet néhány lekérdezést végrehajtani vele.
A MySQL adatbázis-illesztőprogram
A fentiek szerint a MySQL adatbázishoz való csatlakozáshoz szüksége van a JDBC illesztőprogramra a MySQL számára. Ezt Connector / J illesztőprogramnak hívják, és letölthető innen a MySQL webhely itt.
Miután letöltötte a ZIP (vagy TAR.GZ) fájlt, bontsa ki az archívumot, és másolja a JAR fájlt mysql-csatlakozó-java-bin.jar megfelelő helyre. Ez a fájl szükséges minden olyan kód futtatásához, amely a MySQL JDBC illesztőprogramot használja.
Mintaadatbázis létrehozása
Feltételezve, hogy letöltötte a MySQL adatbázist és állítsa be megfelelően A MySQL adatbázis telepítése Windows rendszerenHa gyakran ír olyan alkalmazásokat, amelyek adatbázis-kiszolgálókhoz kapcsolódnak, akkor jó, ha tudod, hogyan kell MySQL adatbázist telepíteni a Windows számítógépére tesztelési célokra. Olvass tovább ahol van hozzáférése, hozzon létre egy minta adatbázist, így felhasználhatjuk azt a lekérdezések összekapcsolására és végrehajtására.
Csatlakozzon az adatbázishoz a választott kliens segítségével, és futtassa a következő utasításokat egy mintaadatbázis létrehozásához.
adatbázis-minta létrehozása;
Az adatbázishoz való csatlakozáshoz felhasználói névre és jelszóra is szükségünk van (kivéve, ha rendszergazdaként kíván csatlakozni, ami általában rossz ötlet).
Az alábbiakkal létrehozunk egy felhasználónevet testuser ki fog csatlakozni a MySQL adatbázishoz ugyanabból a gépről, ahol fut (a jelölés: helyi kiszolgáló), a jelszó használatával securepwd.
hozzon létre felhasználói 'testuser' @ 'localhost' azonosítót a 'Securepwd';
Ha csatlakozik egy másik gépen futó adatbázishoz (névvel remotemc), akkor a következőket kell használnia (remotemc lehet gazdagépnév vagy ip cím):
hozzon létre felhasználói 'testuser' @ 'remotemc' felhasználót, amelyet 'Securepwd' azonosított;
Most, hogy a felhasználónevet és a jelszót elkészítettük, hozzáférést kell biztosítanunk a korábban létrehozott minta adatbázishoz.
adja meg az összes mintát. * a 'testuser' @ 'localhost' számára;
Vagy ha az adatbázis távoli:
adja meg az összes mintát. * a 'testuser' @ 'remotemc' -nek;
Most ellenőriznie kell, hogy képes-e csatlakozzon az adatbázishoz A MySQL adatbázis telepítése Windows rendszerenHa gyakran ír olyan alkalmazásokat, amelyek adatbázis-kiszolgálókhoz kapcsolódnak, akkor jó, ha tudod, hogyan kell MySQL adatbázist telepíteni a Windows számítógépére tesztelési célokra. Olvass tovább mint felhasználó, amelyet ugyanolyan jelszóval hozott létre. A csatlakoztatás után a következő parancsokat is futtathatja, hogy megbizonyosodjon arról, hogy az engedélyek helyesek-e.
táblázati joe létrehozása (id int elsődleges kulcs auto_increment, varchar név (25)); cseppasztal Joe;
A Java osztály elérési útjának beállítása
Most nézzük meg a MySQL-hez való kapcsolódás részleteit Jáva 10 alapvető Java koncepció, amelyeket meg kell tanulnia az induláskorFüggetlenül attól, hogy GUI-t ír, fejleszti a szerveroldali szoftvert vagy egy mobilalkalmazást az Android segítségével, a Java tanulása jól szolgálja Önt. Az alábbiakban bemutatunk néhány alapvető Java-koncepciót, amelyek segítenek az indulásban. Olvass tovább . Az első lépés az adatbázis-illesztőprogram betöltése. Ezt úgy tehetjük meg, hogy megfelelő helyre behívjuk a következőket.
Class.forName ( "com.mysql.jdbc. Sofőr");
A kód kivételt képezhet, így elkaphatja, ha foglalkozni szeretne vele (például egy GUI hibaüzenetének formázásával).
próbáld ki a {Class.forName ("com.mysql.jdbc. Sofőr"); } fogás (ClassNotFoundException ex) {// itt használja a kivételt. }
Nagyon gyakori, hogy ezt a kódot statikus mondatban hívják meg az osztályban, így a program azonnal megbukik, ha az illesztőprogram nem tölthető be.
nyilvános osztályú minta. {statikus {próbáld meg {Class.forName ("com.mysql.jdbc. Sofőr"); } catch (ClassNotFoundException ex) {System.err.println ("Nem sikerült betölteni a MySQL illesztőprogramot"); } } }
Természetesen ahhoz, hogy megtalálni lehessen az illesztőprogramot, a programot meg kell hívni az osztály elérési útján szereplő JAR illesztőprogrammal (a fenti letöltéssel és kibontással), az alábbiak szerint.
java -cp mysql-csatlakozó-java--bin.jar:...
Csatlakozás a MySQL-hez Java-ból
Most, hogy eloszlattuk a MySQL illesztőprogram Java-ra való betöltésének részleteit, csatlakozzunk az adatbázishoz. Az adatbázis-kapcsolat létrehozásának egyik módja a DriverManager.
Húr jdbcUrl =...; Kapcsolat con = DriverManager.getConnection (jdbcUrl);
És mi az? jdbcUrl? Ez jelzi a kapcsolat részleteit, beleértve a kiszolgálót, ahol az adatbázis található, a felhasználónevet és így tovább. Itt található a példa URL-címe.
Karakterlánc jdbcUrl = "jdbc: mysql: // localhost / sample? user = testuser & password = secrepwd ";
Vegye figyelembe, hogy a csatlakozáshoz szükséges összes paramétert, beleértve a hostnevet (helyi kiszolgáló), Felhasználónév és jelszó. (Az ilyen jelszó beillesztése NEM jó gyakorlat, az alternatívákat lásd alább.)
Ennek használata jdbcUrl, itt van egy teljes program a csatlakoztathatóság ellenőrzésére.
nyilvános osztályú minta. {statikus {próbáld meg {Class.forName ("com.mysql.jdbc. Sofőr"); } catch (ClassNotFoundException ex) {System.err.println ("Nem sikerült betölteni a MySQL illesztőprogramot"); }} statikus nyilvános void main (String [] args) dob Kivétel {String jdbcUrl = "jdbc: mysql: // localhost / sample? user = testuser & password = securepwd "; Kapcsolat con = DriverManager.getConnection (jdbcUrl); System.out.println ( "Connected!"); con.close (); } }
Vegye figyelembe, hogy az adatbázis-kapcsolat értékes erőforrás a programban, és megfelelően le kell zárni, mint fent. A fenti kód azonban kivétel esetén nem zárja le a kapcsolatot. Normál vagy rendellenes kilépésnél a kapcsolat bezárásához használja a következő mintát:
try (Connection con = DriverManager.getConnection (jdbcUrl)) {System.out.println ("Csatlakoztatva!"); }
Mint fentebb megjegyeztük, rossz ötlet a jelszó beágyazása a JDBC URL-be. A felhasználónév és a jelszó közvetlen megadásához használhatja ehelyett a következő csatlakozási lehetőséget.
Karakterlánc jdbcUrl = "jdbc: mysql: // localhost / minta"; próbálja (Connection con = DriverManager.getConnection (jdbcUrl, "testuser", "securepwd")) { }
Az adatbázis lekérdezése a Java-ból
Most, hogy az adatbázishoz való kapcsolat létrejött, nézzük meg, hogyan lehet lekérdezést végrehajtani, például lekérdezni az adatbázis verzióját:
válasszon verziót ();
A lekérdezés java-ban kerül végrehajtásra az alábbiak szerint. A Nyilatkozat az objektum létrehozása és a lekérdezés végrehajtása a executeQuery () módszer, amely a ResultSet.
String queryString = "verzió kiválasztása ()"; Nyilatkozat stmt = con.createStatement (); ResultSet rset = stmt.executeQuery (queryString);
Nyomtassa ki a verziót a ResultSet alábbiak szerint. 1 "Az oszlop indexe az eredményekben, az 1-től kezdődően.
while (rset.next ()) {System.out.println ("Verzió:" + rset.getString (1)); }
Az eredmények feldolgozása után az objektumokat be kell zárni.
rset.close (); stmt.close ();
És ez magában foglalja a Java használatával a MySQL-hez való kapcsolódás és az egyszerű lekérdezés végrehajtását.
Használta a JDBC-t a MySQL-vel a projektekben? Milyen problémák merültek fel az adatbázisokkal és a Java-val, ha vannak ilyenek? Kérjük, ossza meg velünk az alábbi megjegyzéseket.