реклама

Java предоставя JDBC (Java DataBase Свързване) като част от Java SDK (Software Development Kit). Използвайки това API, много лесно е да се свържете с a релационна база данни И така, какво е база данни, така или иначе? [MakeUseOf обяснява]За програмист или технологичен ентусиаст концепцията за база данни е нещо, което наистина може да се приеме за даденост. Въпреки това, за много хора самата концепция на база данни е малко чужда ... Прочетете още и извършват общи операции като запитване, вмъкване, актуализиране и изтриване на записи.

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

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

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

instagram viewer

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

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

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

Ако приемем, че сте изтеглили MySQL базата данни и настройте го правилно Как да инсталирате база данни MySQL на WindowsАко често пишете приложения, които се свързват със сървъри на бази данни, е хубаво, ако знаете как да инсталирате MySQL база данни на вашата машина с Windows за тестови цели. Прочетете още където имате достъп до него, нека да създадем примерна база данни, за да можем да я използваме за свързване и изпълнение на заявки.

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

създаване на извадка от база данни; 

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

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

създайте потребител 'testuser' @ 'localhost', идентифициран от 'securepwd'; 

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

създайте потребител 'testuser' @ 'remotemc', идентифициран от 'securepwd'; 

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

предоставете всички на проба. * на 'testuser' @ 'localhost'; 

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

предоставете всички на проба. * на 'testuser' @ 'remotemc'; 

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

създайте joe таблица (id int първичен ключ auto_increment, име varchar (25)); джой джойд; 

Настройте пътя на Java Class

Нека сега да навлезем в подробности как да се свържете с MySQL от Ява 10 основни понятия за Java, които трябва да научите, когато започнетеНезависимо дали пишете GUI, разработвате софтуер от страна на сървъра или мобилно приложение с Android, ученето на Java ще ви служи добре. Ето някои основни Java понятия, които ще ви помогнат да започнете. Прочетете още . Първата стъпка е да заредите драйвера на базата данни. Това става чрез извикване на следното на подходящо място.

Class.forName ( "com.mysql.jdbc. Шофьора "); 

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

опитайте {Class.forName ("com.mysql.jdbc. Шофьора "); } улов (ClassNotFoundException ex) {// използвайте изключението тук. }

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

публична класа. {static {опитайте {Class.forName ("com.mysql.jdbc. Шофьора "); } улов (ClassNotFoundException ex) {System.err.println ("Невъзможно да се зареди MySQL драйвер"); } } }

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

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

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

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

String jdbcUrl =...; Връзка con = DriverManager.getConnection (jdbcUrl); 

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

String jdbcUrl = "jdbc: mysql: // localhost / sample? потребителското = testuser и парола = secrepwd "; 

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

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

публична класа. {static {опитайте {Class.forName ("com.mysql.jdbc. Шофьора "); } улов (ClassNotFoundException ex) {System.err.println ("Невъзможно да се зареди MySQL драйвер"); }} static public void main (String [] args) хвърля изключение {String jdbcUrl = "jdbc: mysql: // localhost / sample? потребителското = testuser и парола = securepwd "; Връзка con = DriverManager.getConnection (jdbcUrl); System.out.println ( "Connected!"); con.close (); } }

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

опитайте (Connection con = DriverManager.getConnection (jdbcUrl)) {System.out.println ("Свързан!"); }

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

String jdbcUrl = "jdbc: mysql: // localhost / sample"; опитайте (Connection con = DriverManager.getConnection (jdbcUrl, "testuser", "securepwd")) { }

Въпрос към базата данни от Java

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

изберете версия (); 

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

String queryString = "изберете версия ()"; Statement stmt = con.createStatement (); ResultSet rset = stmt.executeQuery (queryString); 

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

докато (rset.next ()) {System.out.println ("Версия:" + rset.getString (1)); }

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

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

И това обхваща всичко, което е да се свържете с MySQL от Java и да извършите обикновена заявка.

Използвали ли сте JDBC с MySQL във вашите проекти? Какви проблеми имате, ако има, с бази данни и java? Моля, уведомете ни в коментарите по-долу.