Hur man ansluter till en MySQL -databas med Java

Hur man ansluter till en MySQL -databas med Java

Java tillhandahåller JDBC (Java DataBase Connectivity) som en del av Java SDK (Software Development Kit). Använd detta BRAND , det är mycket enkelt att ansluta till en relationsdatabas och utföra vanliga operationer som att söka, infoga, uppdatera och ta bort poster.





Medan kärnans JDBC -API ingår i java, kräver anslutning till en viss databas som MySQL eller SQL Server en ytterligare komponent som kallas databasdrivrutinen. Denna databasdrivrutin är en mjukvarukomponent som översätter de grundläggande JDBC -anropen till ett format som förstås av databasen.





var kan man köpa begagnade datordelar

I den här artikeln, låt oss titta på detaljerna för anslutning till en MySQL -databas och hur man utför några frågor med den.





MySQL -databasdrivrutinen

Som förklarats ovan behöver du JDBC -drivrutinen för MySQL för att kunna ansluta till en MySQL -databas. Detta kallas Connector/J -drivrutinen och kan laddas ner från MySQL -webbplatsen här.

När du har laddat ner ZIP -filen (eller TAR.GZ) extraherar du arkivet och kopierar JAR -filen mysql-connector-java-bin.jar till en lämplig plats. Denna fil krävs för att köra alla koder som använder MySQL JDBC -drivrutinen.



Skapa en provdatabas

Förutsatt att du har laddat ner MySQL -databasen och ställ in det ordentligt där du har tillgång till den, låt oss skapa en exempeldatabas så att vi kan använda den för att ansluta och utföra frågor.

Anslut till databasen med en valfri klient och kör följande uttalanden för att skapa en exempeldatabas.





create database sample;

Vi behöver också ett användarnamn och lösenord för att kunna ansluta till databasen (om du inte vill ansluta som administratör, vilket i allmänhet är en dålig idé).

Följande skapar en användare med namnet testanvändare som kommer att ansluta till MySQL -databasen från samma dator där den körs (indikeras av lokal värd ), med hjälp av lösenordet securepwd .





create user 'testuser'@'localhost' identified by 'securepwd';

Om du ansluter till en databas som körs på en annan dator (namngiven fjärrkontroll ), måste du använda följande ( fjärrkontroll kan vara ett värdnamn eller en ip -adress):

create user 'testuser'@'remotemc' identified by 'securepwd';

Nu när användarnamnet och lösenordet har skapats måste vi ge åtkomst till exempeldatabasen som skapats tidigare.

grant all on sample.* to 'testuser'@'localhost';

Eller om databasen är avlägsen:

grant all on sample.* to 'testuser'@'remotemc';

Du bör nu verifiera att du kan ansluta till databasen som användaren du just skapade med samma lösenord. Du kan också köra följande kommandon efter att du har anslutit, för att se till att alla behörigheter är korrekta.

create table joe(id int primary key auto_increment, name varchar(25));
drop table joe;

Ställ in Java Class Path

Låt oss nu gå in på detaljerna om hur du ansluter till MySQL från Java. Det första steget är att ladda databasdrivrutinen. Detta görs genom att åberopa följande på en lämplig plats.

hur man lägger till rader i word
Class.forName('com.mysql.jdbc.Driver');

Koden kan ge ett undantag, så du kan fånga den om du tänker hantera den (till exempel formatering av felmeddelandet för ett GUI).

try {
Class.forName('com.mysql.jdbc.Driver');
} catch(ClassNotFoundException ex) {
// use the exception here
}

Det är mycket vanligt att anropa denna kod i ett statiskt block i klassen så att programmet misslyckas omedelbart om föraren inte kan laddas.

public class Sample
{
static {
try {
Class.forName('com.mysql.jdbc.Driver');
} catch(ClassNotFoundException ex) {
System.err.println('Unable to load MySQL Driver');
}
}
}

Naturligtvis, för att kunna hitta drivrutinen, måste programmet åberopas med föraren JAR (nedladdad och extraherad ovan) inkluderad i klassvägen enligt följande.

java -cp mysql-connector-java-bin.jar: ...

Ansluter till MySQL från Java

Nu när vi har kvadrat bort detaljerna för att ladda MySQL -drivrutinen från java, låt oss få anslutning till databasen. Ett sätt att skapa en databasanslutning är att använda DriverManager .

String jdbcUrl = ...;
Connection con = DriverManager.getConnection(jdbcUrl);

Och vad är jdbcUrl ? Det indikerar information om anslutningen, inklusive servern där databasen finns, användarnamn och så vidare. Här är en exempel -URL för vårt exempel.

String jdbcUrl = 'jdbc:mysql://localhost/sample?user=testuser&password=secrepwd';

Lägg märke till att vi har inkluderat alla parametrar som krävs för anslutning, inklusive värdnamnet ( lokal värd ), användarnamn och lösenord. (Att inkludera lösenordet som detta är INTE en bra metod, se nedan för alternativ.)

Använd detta jdbcUrl , här är ett komplett program för att kontrollera anslutningen.

public class Sample
{
static {
try {
Class.forName('com.mysql.jdbc.Driver');
} catch(ClassNotFoundException ex) {
System.err.println('Unable to load MySQL Driver');
}
}
static public void main(String[] args) throws Exception
{
String jdbcUrl = 'jdbc:mysql://localhost/sample?user=testuser&password=securepwd';
Connection con = DriverManager.getConnection(jdbcUrl);
System.out.println('Connected!');
con.close();
}
}

Observera att en databasanslutning är en värdefull resurs i ett program och måste stängas ordentligt enligt ovan. Ovanstående kod stänger dock inte anslutningen vid undantag. För att stänga anslutningen på en normal eller onormal utgång, använd följande mönster:

try(Connection con = DriverManager.getConnection(jdbcUrl)) {
System.out.println('Connected!');
}

Som nämnts ovan är det en dålig idé att bädda in lösenordet i JDBC -URL: en. För att ange användarnamn och lösenord direkt kan du istället använda följande anslutningsalternativ.

hur man airdrop från pc till iphone
String jdbcUrl = 'jdbc:mysql://localhost/sample';
try(Connection con = DriverManager.getConnection(jdbcUrl, 'testuser', 'securepwd')) {
}

Fråga databasen från Java

Nu när anslutningen till databasen är upprättad, låt oss se hur vi utför en fråga, till exempel att fråga efter databasversionen:

select version();

En fråga körs i java enligt följande. A Påstående objekt skapas och en fråga utförs med executeQuery () metod som returnerar a Resultatet satt .

String queryString = 'select version()';
Statement stmt = con.createStatement();
ResultSet rset = stmt.executeQuery(queryString);

Skriv ut versionen från Resultatet satt som följer. 1 refererar till kolumnindex i resultaten, med början från 1.

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

Efter bearbetning av resultaten måste objekten stängas.

rset.close();
stmt.close();

Och det täcker allt som krävs för att ansluta till MySQL från java och utföra en enkel fråga.

Kolla också in vår SQL -kommandon fuska blad .

Dela med sig Dela med sig Tweet E-post Är det okej att installera Windows 11 på en inkompatibel dator?

Du kan nu installera Windows 11 på äldre datorer med den officiella ISO -filen ... men är det en bra idé att göra det?

Läs Nästa
Relaterade ämnen
  • Programmering
  • Java
  • SQL
Om författaren Jay Sridhar(17 artiklar publicerade) Mer från Jay Sridhar

Prenumerera på vårt nyhetsbrev

Gå med i vårt nyhetsbrev för tekniska tips, recensioner, gratis e -böcker och exklusiva erbjudanden!

Klicka här för att prenumerera