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
Абонирайте се за нашия бюлетин
Присъединете се към нашия бюлетин за технически съвети, рецензии, безплатни електронни книги и изключителни оферти!
Щракнете тук, за да се абонирате