Logo Czechitas
Vloženo: 12. 5. 2017

Lekce 11 - Refactoring přístupu do databáze

Soubory

Archív najdete zde: Java2Web-Lekce11.7z

Videozáznam

Na Youtube je záznam z lekce:

Celý playlist na Youtube najdete zde: Java 2 Web - youtube playlist.

Postup pro Microsoft Azure

  1. Účet u firmy Microsoft

    Budete potřebovat účet u firmy Microsoft. Pokud jej ještě nemáte, zaregistrujte se na www.outlook.com

  2. Registrace na Microsoft Azure a volba subscription.

    Budete potřebovat platné mobilní telefonní číslo a platnou platební kartu. Platební karta slouží jen pro účely ověření totožnosti a Azure vám nebude automaticky nic účtovat. Po vypršení subscription zdarma bude nutné si zvolit jiný subscription.

    • Běžte na stránku Visual Studio Dev Essentials a aktivujte si Azure subscription s bonusem $25 každý měsíc po dobu 1 roku.
      Pozor! Subscription Dev Essentials lze využít pouze pokud jste na svůj účet Microsoft zatím s Azure neměli jiný subscription ani jste už nepoužili danou platební kartu, telefon ani IP adresu.
    • Pokud byste nechtěli nebo nemohli Dev Essentials subscription použít, lze alternativně zvolit klasický free trial, který funguje jen 1 měsíc a pak je nutné přejít na subscription Pay As You Go. Ani to není problém, protože Azure Web Site s Tomcatem a MySQL lze i s tímto subscription provozovat zdarma, jen v poněkud omezené míře. Free Trial for 30 days.
  3. Založení web site s Tomcatem

    Postupujte podle video návodu zde: Youtube

  4. Rozběhnutí MySQL

    V předchozím video návodu je zároveň vidět, jak se nastavuje MySQL. Po založení databáze dailyplanet vyklikáním v portálu Azure, bude potřeba zjistit údaje pro připojení do vzdáleného serveru MySQL (hostname, username, password) a potom se k němu připojit a vytvořit zde tabulky a v nich data.

    1. Údaje pro připojení

      Údaje pro připojení zjistíte podle videa v čase 4:02. Tyto údaje si nastavte do IntelliJ IDEA tak, že založíte nový Data Source v záložce Database. Potom se připojte ke vzdálenému serveru MySQL.

    2. Založení tabulky a vložení dat

      Po připojení IntelliJ IDEA zvolte v záložce Database volbu Open Console a odešlete skript pro založení tabulek a dat:

      ALTER DATABASE DailyPlanet
      CHARACTER SET utf8mb4
      COLLATE utf8mb4_czech_ci;
      
      CREATE TABLE Autor (
          Autor_ID CHAR(36) PRIMARY KEY NOT NULL,
          KrestniJmeno VARCHAR(250),
          Prijmeni VARCHAR(250),
          Email VARCHAR(250),
          Telefon VARCHAR(32)
      ) ENGINE=INNODB;
      
      CREATE TABLE Clanek (
          Clanek_ID CHAR(36) PRIMARY KEY NOT NULL,
          Nazev VARCHAR(250) NOT NULL,
          Autor_ID CHAR(36) ,
          Cislo_revize INT DEFAULT 0,
          FOREIGN KEY (Autor_ID) REFERENCES Autor(Autor_ID) ON DELETE CASCADE
      ) ENGINE=INNODB;
      
      
      INSERT INTO Autor (Autor_ID, KrestniJmeno, Prijmeni, Email, Telefon) VALUES ('c705ef4e-5de0-4409-b537-957605df610c', 'Clark', 'Kent', 'clark.kent@dailyplanet.com', '+14155552671');
      INSERT INTO Autor (Autor_ID, KrestniJmeno, Prijmeni, Email, Telefon) VALUES ('258c5ea5-ce1c-4433-99e6-2fd58557ef21', 'Loise', 'Lane', 'loise.lane@dailyplanet.com', '+14154641123');
      INSERT INTO Autor (Autor_ID, KrestniJmeno, Prijmeni, Email, Telefon) VALUES ('7d92828e-5b8a-43d4-a9ce-7fcf02778950', 'Jimmy', 'Olsen', 'jimmy.olsen@dailyplanet.com', '+14153343321');
      INSERT INTO Autor (Autor_ID, KrestniJmeno, Prijmeni, Email, Telefon) VALUES ('5d35d75b-892b-4f14-be3c-f8964369d6a2', 'Perry', 'White', 'perry.white@dailyplanet.com', '+14253442888');
      INSERT INTO Autor (Autor_ID, KrestniJmeno, Prijmeni, Email, Telefon) VALUES ('99ea7420-825e-4973-b697-e8a49267b121', 'Cat', 'Grant', 'cat.grant@dailyplanet.com', '+14259990001');
      
      INSERT INTO Clanek (Clanek_ID, Nazev, Autor_ID, Cislo_revize) VALUES ('8ac75dbb-0f6f-4953-b35d-151f04ce1d09', 'NejstarŇ°?? Ňĺenou na svńotńo je Jamaińćanka', '258c5ea5-ce1c-4433-99e6-2fd58557ef21', 10);
      INSERT INTO Clanek (Clanek_ID, Nazev, Autor_ID, Cislo_revize) VALUES ('15514d7c-12ab-4540-ba6d-f8e155952bb9', 'Ňeidińć naboural do policejn??ho auta', 'c705ef4e-5de0-4409-b537-957605df610c', 5);
      INSERT INTO Clanek (Clanek_ID, Nazev, Autor_ID, Cislo_revize) VALUES ('bca72825-31c8-42e8-b7e6-2d9d9252c1a4', 'V?Ĺpadky elektŇôiny kvŇIli pońćas??', '7d92828e-5b8a-43d4-a9ce-7fcf02778950', 2);
      
  5. Oprava vaší aplikace, aby po nasazení na cloud Azure Web Sites používala jejich databazi

    Je nutné jít do třídy ApplicationConfig a opravit url, username a password v souladu s údaji v záložce Database v IntelliJ IDEA.