Paano Kumonekta sa isang MySQL Database Sa Java

Paano Kumonekta sa isang MySQL Database Sa Java

Nagbibigay ang Java JDBC (Pagkakakonekta ng Java DataBase) bilang isang bahagi ng Java SDK (Software Development Kit). Gamit ito APOY , napakadaling kumonekta sa isang pamanggit na database at magsagawa ng mga karaniwang operasyon tulad ng pag-query, pagpasok, pag-update, at pagtanggal ng mga talaan.





Habang ang pangunahing JDBC API ay kasama sa java, ang pagkonekta sa isang partikular na database tulad ng MySQL o SQL Server ay nangangailangan ng isang karagdagang sangkap na kilala bilang database driver. Ang driver ng database na ito ay isang bahagi ng software na isinalin ang pangunahing tawag ng JDBC sa isang format na nauunawaan ng database na iyon.





manuod ng hanna barbera cartoons online ng libre

Sa artikulong ito, tingnan natin ang mga detalye ng pagkonekta sa isang database ng MySQL at kung paano magsagawa ng ilang mga query dito.





Ang MySQL Database Driver

Tulad ng ipinaliwanag sa itaas, upang makakonekta sa isang database ng MySQL, kailangan mo ng driver ng JDBC para sa MySQL. Ito ay tinatawag na Connector / J driver at maaaring ma-download mula sa ang site ng MySQL dito.

Kapag na-download mo ang ZIP (o TAR.GZ) file, i-extract ang archive at kopyahin ang JAR file MySQL-konektor-java - bin.jar sa isang angkop na lokasyon. Kinakailangan ang file na ito para sa pagpapatakbo ng anumang code na gumagamit ng MySQL JDBC Driver.



Lumilikha ng isang Sample Database

Ipagpalagay na na-download mo ang MySQL database at itakda ito ng maayos kung saan mayroon kang access dito, gumawa kami ng isang sample na database upang magamit namin ito para sa pagkonekta at pagsasagawa ng mga query.

Kumonekta sa database gamit ang isang kliyente na iyong pinili at patakbuhin ang mga sumusunod na pahayag upang lumikha ng isang sample na database.





create database sample;

Kailangan din namin ng isang username at password upang makakonekta sa database (maliban kung nais mong kumonekta bilang administrator, na sa pangkalahatan ay isang masamang ideya).

Lumilikha ang sumusunod ng isang gumagamit na pinangalanan testuser na kumokonekta sa MySQL database mula sa parehong makina kung saan ito tumatakbo (ipinahiwatig ng localhost ), gamit ang password securepwd .





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

Kung kumokonekta ka sa isang database na tumatakbo sa isa pang makina (pinangalanan remotemc ), kailangan mong gamitin ang sumusunod ( remotemc maaaring isang hostname o isang ip address):

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

Ngayon na nalikha ang username at password, kailangan naming magbigay ng access sa sample na database na nilikha dati.

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

O, kung ang database ay malayo:

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

Dapat mo na ngayong i-verify na kaya mo kumonekta sa database bilang gumagamit na nilikha mo lamang na may parehong password. Maaari mo ring patakbuhin ang mga sumusunod na utos pagkatapos kumonekta, upang matiyak na ang mga pahintulot ay tama ang lahat.

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

I-set up ang Path ng Klase ng Java

Ipaalam sa amin ngayon sa mga detalye ng kung paano kumonekta sa MySQL mula sa Java. Ang unang hakbang ay upang mai-load ang driver ng database. Ginagawa ito sa pamamagitan ng pagtawag sa sumusunod sa isang naaangkop na lokasyon.

mas mabilis ba ang pag-charge ng iyong telepono sa mababang mode ng kuryente
Class.forName('com.mysql.jdbc.Driver');

Ang code ay maaaring magtapon ng isang pagbubukod, kaya maaari mo itong mahuli kung balak mong harapin ito (tulad ng pag-format ng mensahe ng error para sa isang GUI).

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

Napakakaraniwan na gamitin ang code na ito sa isang static block sa klase kaya't nabigo agad ang programa kung hindi mai-load ang driver.

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

Siyempre, upang mahanap ang driver, ang programa ay dapat na ipatawag sa driver ng JAR (na-download at na-extract sa itaas) na kasama sa path ng klase tulad ng sumusunod.

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

Kumokonekta sa MySQL Mula sa Java

Ngayon na na-square na namin ang mga detalye ng paglo-load ng MySQL driver mula sa java, ipaalam sa amin na kumonekta sa database. Isang paraan upang lumikha ng isang koneksyon sa database upang magamit ang DriverManager .

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

At ano ang jdbcUrl ? Ipinapahiwatig nito ang mga detalye ng koneksyon, kasama ang server kung saan matatagpuan ang database, username at iba pa. Narito ang isang sample na URL para sa aming halimbawa.

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

Pansinin na isinama namin ang lahat ng mga kinakailangang parameter para sa koneksyon, kasama ang hostname ( localhost ), username at password. (Ang pagsasama ng password na tulad nito ay HINDI isang mahusay na kasanayan, tingnan sa ibaba para sa mga kahalili.)

Gamit ito jdbcUrl , narito ang isang kumpletong programa upang suriin ang pagkakakonekta.

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

Tandaan na ang isang koneksyon sa database ay isang mahalagang mapagkukunan sa isang programa at dapat isara nang maayos tulad ng nasa itaas. Ang code sa itaas, gayunpaman, ay hindi isinasara ang koneksyon sa kaso ng isang pagbubukod. Upang maisara ang koneksyon sa isang normal o abnormal na paglabas, gamitin ang sumusunod na pattern:

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

Tulad ng nabanggit sa itaas, isang masamang ideya na i-embed ang password sa JDBC URL. Upang direktang tukuyin ang username at password, maaari mong gamitin ang sumusunod na pagpipilian sa koneksyon.

samsung galaxy s21 vs iphone 12 pro
String jdbcUrl = 'jdbc:mysql://localhost/sample';
try(Connection con = DriverManager.getConnection(jdbcUrl, 'testuser', 'securepwd')) {
}

Pagtatanong sa Database Mula sa Java

Ngayon na ang koneksyon sa database ay naitatag na, tingnan natin kung paano magsagawa ng isang query, tulad ng pagtatanong sa bersyon ng database:

select version();

Ang isang query ay naisakatuparan sa java tulad ng sumusunod. A Pahayag bagay ay nilikha at isang query ay naisakatuparan gamit ang executeQuery () pamamaraan na nagbabalik a ResultSet .

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

I-print ang bersyon mula sa ResultSet tulad ng sumusunod. 1 tumutukoy sa index ng haligi sa mga resulta, simula sa 1.

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

Matapos maproseso ang mga resulta, kailangang isara ang mga bagay.

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

At sinasaklaw nito ang lahat doon ay upang kumonekta sa MySQL mula sa java at gumaganap ng isang simpleng query.

Suriin din ang aming Nag-uutos ang SQL ng cheat sheet .

Magbahagi Magbahagi Mag-tweet Email Mas okay bang Mag-install ng Windows 11 sa isang Hindi Tugma na PC?

Maaari mo na ngayong mai-install ang Windows 11 sa mga mas matandang PC gamit ang opisyal na ISO file ... ngunit magandang ideya ba na gawin ito?

Basahin Susunod
Mga Kaugnay na Paksa
  • Programming
  • Java
  • SQL
Tungkol sa May-akda Jay Sridhar(17 Mga Artikulo Na-publish) Higit pa Mula kay Jay Sridhar

Mag-subscribe sa aming newsletter

Sumali sa aming newsletter para sa mga tip sa tech, pagsusuri, libreng ebook, at eksklusibong deal!

Mag-click dito upang mag-subscribe