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í.

Lekce 2 - Návrh MySQL databáze v IntelliJ IDE

V minulém dílu, Úvod do databází v Javě, jsme si vysvětlili proč je dobrý nápad pro práci s daty používat zrovna databázi. Říkali jsme si také, že v Javě jsou pro práci s databází 2 hlavní přístupy: JDBC a JPA.

V dnešním tutoriálu si vytvoříme novou databázi, na které se v dalších dílech budeme učit. Používat budeme databázi MySQL. Pokud chcete v Javě pracovat s jinou databází, můžete si klidně přečíst tento seriál, jelikož SQL dotazy u různých databází jsou velmi podobné a základní dotazy dokonce úplně stejné.

Instalace databáze

Jako první samozřejmě musíme mít databázi nainstalovanou. Pokud jsme s MySQL ještě nikdy nepracovali, měli bychom si nejprve přečíst seriál MySQL databáze krok za krokem, kde se dozvíme vše potřebné. MySQL databázi můžeme nainstalovat buď samostatně z webu http://dev.mysql.com/downloads/ nebo např. v balíku XAMPP, kde je obsažen i jazyk PHP a databázový admin.

Instalace Database navigator

Database navigator je plug-in pro IntelliJ, který umožňuje prohlížet databáze přímo z IntelliJ IDE. Umožňuje také spouštět SQL skripty, prohlížet a upravovat jednotlivé databáze.

Aktuální verze pluginu Database Navigator však postrádá schopnost vytvářet a mazat databáze nebo tabulky přímo v pluginu.

Pro instalaci otevřeme v IntelliJ okénko plugins v hlavním menu a do vyhledávače napíšeme Database navigator"

Database navigator plugin - Databáze v Javě - JDBC

Práce s databází v IntelliJ IDE

Jakmile máme MySQL databázi nainstalovanou a spuštěnou, můžeme se k ní připojit. Veškerou administraci budeme dělat přes IDE.

Připojení k MySQL databázi

Než spustíme Database navigator, je zapotřebí vytvořit novou databázi. Otevřeme příkazovou řádku nebo integrovaný terminál IntelliJ IDE nebo jiný administrační nástroj pro MySQL. Nejdříve se připojíme do samotného MySQL serveru, způsob připojení a přihlašovací údaje se mohou lišit podle databáze a konfigurace. Připojíte se pomocí příkazu:

mysql -u root // Pro připojení jako root bez hesla
mysql -u root -p // Pro připojení jako root s heslem
mysql -u <přihlašovací jméno> -p // Pro připojení vámi zvolenými přihlašovacími údaji

Po připojení vytvoříme novou databázi příkazem:

CREATE DATABASE slovnicek_db;

Po vytvoření databáze se k ní můžeme připojit pomocí IntelliJ IDE. Po instalaci Database navigator se mám v postranní lište objeví položka DB Browser. Kliknutím na ní se přepneme do nového okénka pro správu databází. Klikněme na zelené + v horní liště a otevře se nám panel předdefinovaných připojení databází. Vybereme MySQL a otevře se nám přihlašovací okno.

Port ponecháme nastavený na hodnotu 3306. U položky Host necháme volbu localhost, což znamená, že nám databáze běží na tom samém počítači, jako aplikace. Uživatelské jméno bychom měli mít nastavené na root, pokud jsme ho neměnili. Do hesla zadáme svoje heslo nebo ho ponecháme prázdné v případě, že jsme ho nezadávali.

Dále je zapotřebí nastavit MySQL driver. Nastavíme Driver source na External library a položku Driver library na .jar soubor, který jsme dříve stáhli a uložili ve svém systému nebo do adresáře lib/ v Java projektu.

Nyní se k databázi připojíme tlačítkem Apply. Připojení můžeme otestovat tlačítkem Test Connection, abychom se ujistili, že jsme zadali správné údaje:

Okénko připojení databáze pomocí Database navigator - Databáze v Javě - JDBC

Po úspěšném připojení se nám zobrazí všechny databáze a tabulky uložené na MySQL serveru:

Načtené databáze po připoení k MySQL - Databáze v Javě - JDBC

Vytvoření tabulky

O tabulkách jsme si již říkali minule. Jelikož budeme chtít ukládat slovíčka, vytvoříme si tabulku právě pro ně. Definujeme jí sloupce - to jsou vlastnosti, které slovíčko má. Nezapomeneme na unikátní identifikátor. Pro vytvoření tabulky se nejdříve musíme přepnout do naší databáze, otevřít příkazovou řádku a vložit příkaz:

USE slovnicek_db;

Následně vytvoříme novou tabulku. Tabulku pojmenujeme slovo. Přidáme jí tři sloupce. Jako první id typu INT. id nastavíme jako PRIMARY KEY, čímž určíme tento sloupec jako jednoznačný identifikátor slovíčka v tabulce. Přidáme mu také hodnotu AUTO_INCREMENT, čímž se nastaví, aby se jeho hodnota automaticky inkrementovala. Dále přidáme sloupce cesky a anglicky. Budou typu VARCHAR. To je krátký text, u kterého musíme specifikovat maximální velikost. Nastavíme mu délku maximálně 50 znaků.

Do příkazové řádky vložíme příkaz pro vytvoření nové tabulky:

CREATE TABLE slovo (
    id INT PRIMARY KEY AUTO_INCREMENT,
    cesky VARCHAR(50) NULL,
    anglicky VARCHAR(50) NULL
);

Nakonec se vratíme do IntelliJ IDE a pravým kliknutím myši na naši databázi otevřeme novou nabídku, kde vybereme položku Refresh. Tímto se databáze znovu načte a zobrazí se nám vytvořená tabulka. Tabulku máme hotovou.

Pokud vám tabulka připomíná javovskou třídu, máte úplnou pravdu. Tabulkou definujeme společné vlastnosti nějakých entit, zde slovíček. Jednotlivé sloupce jsou poté atributy slovíček. U třídy bychom měli slovíčka jako instance, v databázové tabulce máme slovíčka jako jednotlivé řádky. Minule jsme si také říkali, že tabulky je dokonce možné mapovat přímo na třídy pomocí JPA (Hibernate). Nepředbíhejme však.

Testovací data

Nyní do tabulky vložíme data. V DB Browseru rozklikneme naše nové připojení a v okně Schemas najdeme naši databázi slovnicek_db. Klikneme na Tables a na tabulku s názvem slovo. Objeví se nové okénko, které nám umožňuje zobrazit data v tabulce podle námi určených filtrů. Zvolíme no filter a zobrazí se nám nové prázdné okno:

Okénko zobrazení tabulky - Databáze v Javě - JDBC

Jakmile programujeme nějakou databázovou aplikaci, je dobrým zvykem připravit si testovací data, na kterých aplikaci odladíme. Pomocí tlačítka Insert Records (zelené + v lište nad tabulkou) do tabulky vložíme několik testovacích záznamů.

Přidáme několik nových řádků, u kterých vyplníme sloupce cesky a anglicky. Id se vyplní automaticky. Nakonec musíme data nahrát do databáze na MySQL server. Pro nahrání a uložení dat stiskneme tlačítko Commit v horním panelu nad tabulkou:

Nahrání testovacích dat to MySQL databáze v IntelliJ IDE - Databáze v Javě - JDBC

Databázi máme připravenou, pokračovat budeme příště.

Příště, Databáze v Java JDBC - Výpis dat a parametry, se na ni z Javy připojíme, necháme si vypsat slovíčka z databáze do konzole a naprogramujeme slovníček, který bude překládat slovo, které uživatel zadá.


 

Předchozí článek
Úvod do databází v Javě
Všechny články v sekci
Databáze v Javě - JDBC
Přeskočit článek
(nedoporučujeme)
Databáze v Java JDBC - Výpis dat a parametry
Článek pro vás napsal David Hartinger
Avatar
Uživatelské hodnocení:
81 hlasů
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 se informační technologie naučil na Unicorn University - prestižní soukromé vysoké škole IT a ekonomie.
Aktivity