IT rekvalifikace s garancí práce. Seniorní programátoři vydělávají až 160 000 Kč/měsíc a rekvalifikace je prvním krokem. Zjisti, jak na to!
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.

2. diel - Návrh MySQL databázy v NetBeans IDE

V minulom dieli nášho seriálu tutoriálov o prácu s databázami Jave sme si vysvetlili prečo je dobrý nápad pre prácu s dátami používať zrovna databázu. Hovorili sme si tiež, že v Jave sú pre prácu s databázou 2 hlavné prístupy: JDBC a JPA. V dnešnom tutoriále si vytvoríme novú databázu, na ktoré sa v ďalších dieloch budeme učiť. Používať budeme databázu MySQL. Pokiaľ chcete v Jave pracovať s inou databázou, môžete si pokojne prečítať tento seriál, pretože SQL rôznych databáz sú veľmi podobné a základné otázky dokonca úplne rovnaké.

Inštalácia databázy

Ako prvý samozrejme musíte mať databázu nainštalovanú. Ak ste s MySQL ešte nikdy nepracovali, odporúčam si najprv prečítať seriál MySQL databázy krok za krokom, kde sa dozviete všetko potrebné. MySQL databázu môžete nainštalovať buď samostatne z webu http://dev.mysql.com/downloads/ alebo napr. V balíku XAMPP, kde je obsiahnutý aj jazyk PHP a databázový admin.

Práca s databázou v NetBeans IDE

Akonáhle máme MySQL databázu nainštalovanú a spustenú, môžeme sa k nej pripojiť. Všetku administráciu budeme robiť cez NetBeans IDE. Administračné nástroje sú tu veľmi obmedzené, ale napriek tomu to s nimi zvládneme. Ak máte k dispozícii iný administračný nástroj, pôjde vám to v ňom lepšie.

Pripojenie k MySQL databáze

V okne Projects prepneme na záložku Services. Prípadne môžeme použiť menu Window -> Services. Rozbalíme uzol Databases a v ňom uvidíme položku MySQL Server at localhost. Tá sa tam objavila vďaka tomu, že máme nainštalovanú databázu. Môžeme sa ju pokúsiť pomocou kontextového menu naštartovať a pripojiť. Tento pokus však zlyhá, pretože nemáme zadané údaje pre pripojenie. Z kontextového menu teda zvolíme možnosť Properties.

Vlastnosti MySQL databázy v NetBeans IDE - Databázy v Jave - JDBC

Port ponecháme na 3306, Host na localhost, čo znamená, že nám databázy beží na tom istom počítači, ako aplikácia. Užívateľské meno by ste mali mať nastavené na root, ak ste ho nemenili. Do hesla zadajte vaše heslo alebo ho ponechajte prázdne v prípade, že ste heslo nezadalo. Teraz sa k databáze pripojte pomocou Connect.

Vlastnosti MySQL databázy v NetBeans IDE - Databázy v Jave - JDBC

Návrh databázy

V našom seriáli budeme programovať jednoduchý slovníček. Založme si k tomu novú databázu. NetBeans bohužiaľ nevie založiť databázu s UTF-8 kódovaním, preto to budeme musieť zvládnuť SQL dotazom.

Keď rozbalíte uzol MySQL Server at localhost, uvidíte tu už vytvorené databázy. Tie sú tam ako predvolené a slúži na systémové účely. Vyberte ľubovoľnú a zvoľte Connect. Vytvorí sa nové pripojenie, na ktoré kliknite pravým a vyberte Execute Command.

Spustenie databázového dopytu v NetBeans IDE - Databázy v Jave - JDBC

Do nového okna vložíme nasledujúci SQL kód:

CREATE DATABASE `slovnicek_db` CHARACTER SET utf8 COLLATE utf8_general_ci;

Otázka spustíme pomocou ikonky Run SQL (zelené play na žltom valci v toolbaru vpravo).

Keď teraz obnovíte uzol MySQL at localhost (kliknite pravým a vyberte Refresh), uvidíte tu novú databázu slovnicek_db. Pripojíme sa k nej a nové pripojenie rozbalíme až do zložky Tables. Staré pripojenie k pôvodnej tabuľke z MySQL môžeme odstrániť. Do novej databázy pridáme pomocou kontextového menu novú tabuľku.

Vytvorenie databázovej tabuľky v NetBeans IDE - Databázy v Jave - JDBC

Vytvorenie tabuľky

O tabuľkách sme si už hovorili minule. Keďže budeme chcieť ukladať slovíčka, vytvoríme si tabuľku práve pre nich. Definujeme jej stĺpce, to sú vlastnosti, ktoré slovíčko má. Nezabudneme na unikátne identifikátor.

Tabuľku pomenujeme slovo.

Tabuľke pridáme 3 stĺpce. Ako prvý id typu INT. Tu zaškrtneme Primary key, čím určíme tento stĺpec ako jednoznačný identifikátor slovíčka v tabuľke. Ďalej pridáme stĺpce cesky a anglicky. Budú typu varchar. To je krátky text, u ktorého musíme speficikovat maximálna veľkosť. Tú zvolíme ako 50 znakov.

Štruktúra novej MySQL tabuľky v NetBeans IDE - Databázy v Jave - JDBC

Dialóg potvrdíme. Ku stĺpci id je potrebné nastaviť, aby sa jeho hodnota automaticky inkrementovala. To musíme urobiť opäť pomocou kódu, NetBeans funkciu bohužiaľ nemá stále implementovanú. Spustite na pripojenie nasledujúci dotaz:

ALTER TABLE slovo CHANGE id id INT(10) NOT NULL AUTO_INCREMENT;

Každé novo vložené slovíčko bude mať teraz o 1 vyššia id než to posledné. Ak nejaká slovíčka odstránime, ich id sa už znovu nevyužijú. Je to tak správne, recyklácie starých id by mohla spôsobiť problémy. Tabuľku máme hotovú.

Pozn .: Ak vám tabuľka pripomína javovskou triedu, máte úplnú pravdu. Tabuľkou definujeme spoločné vlastnosti nejakých entít, tu slovíčok. Jednotlivé stĺpce sú potom atribúty slovíčok. U triedy by sme mali slovíčka ako inštancia, v databázovej tabuľke máme slovíčka ako jednotlivé riadky. Minule sme si tiež hovorili, že tabuľky je dokonca možné mapovať priamo na triedy pomocou JPA (Hibernate). Nepredbiehajme však.

Testovacie dáta

Nová tabuľka sa objavila v oknu Services. Klikneme na nej pravým a zvolíme View Data. Vidíme, že tabuľka je zatiaľ prázdna.

Zobrazenie dát v MySQL tabuľke v Netbeans IDE - Databázy v Jave - JDBC

Akonáhle programujeme nejakú databázovú aplikáciu, je dobrým zvykom pripraviť si testovacie dáta, na ktorých aplikáciu odladíte. Pomocou tlačidla InsertRecords teda do tabuľky vložíme niekoľko testovacích záznamov.

Tlačidlom Add Row pridáme niekoľko nových riadkov, u ktorých vyplníme stĺpca cesky a anglicky. Id sa vyplní automaticky po potvrdení dialógu.

Vkladanie testovacieho dát to MySQL databázy v NetBeans IDE - Databázy v Jave - JDBC

Databáze máme teda pripravenú.

Nabudúce sa na ňu z Javy pripojíme, necháme si vypísať slovíčka z databázy do konzoly a naprogramujeme slovníček, ktorý bude prekladať slovo, ktoré užívateľ zadá.


 

Predchádzajúci článok
Úvod do databáz v Jave
Všetky články v sekcii
Databázy v Jave - JDBC
Preskočiť článok
(neodporúčame)
Databázy v Java JDBC - Výpis dát a parametre
Článok pre vás napísal David Hartinger
Avatar
Užívateľské hodnotenie:
1 hlasov
David je zakladatelem ITnetwork a programování se profesionálně věnuje 15 let. Má rád Nirvanu, nemovitosti a svobodu podnikání.
Unicorn university David sa informačné technológie naučil na Unicorn University - prestížnej súkromnej vysokej škole IT a ekonómie.
Aktivity