Как да се свържете с MySQL база данни с Java

Как да се свържете с MySQL база данни с Java

Java предоставя JDBC (Свързване с Java DataBase) като част от Java SDK (Комплект за разработка на софтуер). Използвайки това ПОЖАР , много е лесно да се свържете с релационна база данни и да извършвате общи операции като запитване, вмъкване, актуализиране и изтриване на записи.





Докато основният JDBC API е включен в java, свързването с определена база данни като MySQL или SQL Server изисква допълнителен компонент, известен като драйвер на базата данни. Този драйвер на база данни е софтуерен компонент, който превежда основните JDBC повиквания във формат, разбираем от тази база данни.





най -добрите безплатни приложения за vr за android

В тази статия нека разгледаме подробностите за свързването към база данни MySQL и как да изпълним няколко заявки с нея.





Драйверът за база данни MySQL

Както е обяснено по -горе, за да можете да се свържете с MySQL база данни, имате нужда от JDBC драйвер за MySQL. Това се нарича Connector/J драйвер и може да бъде изтеглено от сайта на MySQL тук.

След като изтеглите ZIP (или TAR.GZ) файла, извлечете архива и копирайте JAR файла mysql-конектор-java-bin.jar на подходящо място. Този файл е необходим за стартиране на всеки код, който използва MySQL JDBC драйвер.



Създаване на примерна база данни

Ако приемем, че сте изтеглили базата данни MySQL и настройте го правилно където имате достъп до него, нека да създадем примерна база данни, за да можем да я използваме за свързване и извършване на заявки.

Свържете се с базата данни с помощта на клиент по ваш избор и изпълнете следните изявления, за да създадете примерна база данни.





create database sample;

Ние също се нуждаем от потребителско име и парола, за да можем да се свържем с базата данни (освен ако не искате да се свържете като администратор, което обикновено е лоша идея).

Следното създава потребител с име потребител на теста който ще се свърже с базата данни MySQL от същата машина, на която работи (обозначена с localhost ), като използвате паролата securepwd .





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

Ако се свързвате към база данни, работеща на друга машина (с име remotemc ), трябва да използвате следното ( remotemc може да бъде име на хост или ip адрес):

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

Сега, когато потребителското име и паролата са създадени, трябва да предоставим достъп до примерната база данни, създадена по -рано.

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

Или, ако базата данни е отдалечена:

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

Сега трябва да потвърдите, че можете свържете се с базата данни като потребител, който току -що създадохте със същата парола. Можете също да изпълните следните команди след свързване, за да се уверите, че всички разрешения са правилни.

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

Задайте път на Java клас

Нека сега да влезем в детайлите как да се свържем с MySQL от Java. Първата стъпка е да заредите драйвера на базата данни. Това става чрез извикване на следното на подходящо място.

къде мога да отида да отпечатам нещо
Class.forName('com.mysql.jdbc.Driver');

Кодът може да създаде изключение, така че можете да го хванете, ако възнамерявате да се справите с него (например форматиране на съобщението за грешка за GUI).

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

Много често се извиква този код в статичен блок в класа, така че програмата се проваля веднага, ако драйверът не може да бъде зареден.

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

Разбира се, за да можете да намерите драйвера, програмата трябва да бъде извикана с JAR на драйвера (изтеглен и извлечен по -горе), включен в пътя на класа, както следва.

java -cp mysql-конектор-java-bin.jar: ...

Свързване към MySQL от Java

Сега, след като разгледахме подробностите за зареждането на MySQL драйвера от java, нека се свържем с базата данни. Един от начините за създаване на връзка с база данни е използването на DriverManager .

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

И какво е jdbcUrl ? Той показва подробности за връзката, включително сървъра, където се намира базата данни, потребителско име и т.н. Ето примерен URL адрес за нашия пример.

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

Обърнете внимание, че сме включили всички параметри, необходими за свързване, включително името на хоста ( localhost ), потребителско име и парола. (Включването на такава парола НЕ е добра практика, вижте по -долу за алтернативи.)

Използвайки това jdbcUrl , ето пълна програма за проверка на свързаността.

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();
}
}

Обърнете внимание, че връзката с база данни е ценен ресурс в програмата и трябва да бъде затворена правилно, както по -горе. Горният код обаче не затваря връзката в случай на изключение. За да затворите връзката при нормален или ненормален изход, използвайте следния модел:

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

Както бе отбелязано по -горе, лошата идея е да вградите паролата в URL адреса на JDBC. За да посочите директно потребителското име и паролата, можете вместо това да използвате следната опция за връзка.

как да закриете акаунт в paypal
String jdbcUrl = 'jdbc:mysql://localhost/sample';
try(Connection con = DriverManager.getConnection(jdbcUrl, 'testuser', 'securepwd')) {
}

Запитване към базата данни от Java

Сега, когато връзката с базата данни е установена, нека да видим как да извършим заявка, като например запитване към версията на базата данни:

select version();

Заявка се изпълнява в java, както следва. А Изявление обект се създава и заявка се изпълнява с помощта на executeQuery () метод, който връща a ResultSet .

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

Отпечатайте версията от ResultSet както следва. 1 се отнася до индекса на колоната в резултатите, започвайки от 1.

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

След обработката на резултатите обектите трябва да бъдат затворени.

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

И това обхваща всичко, което има за свързване към MySQL от java и извършване на проста заявка.

Разгледайте и нашите SQL команди измама лист .

Дял Дял Туит електронна поща Добре ли е да инсталирате Windows 11 на несъвместим компютър?

Вече можете да инсталирате Windows 11 на по -стари компютри с официалния ISO файл ... но дали е добра идея да го направите?

Прочетете Напред
Свързани теми
  • Програмиране
  • Java
  • SQL
За автора Джей Шридхар(17 статии са публикувани) Още от Джей Шридхар

Абонирайте се за нашия бюлетин

Присъединете се към нашия бюлетин за технически съвети, рецензии, безплатни електронни книги и изключителни оферти!

Щракнете тук, за да се абонирате