[ADV] Online Java Academy 2016 - S02 E05 Vorige deel Overzicht Volgende deel Laatste deel

Dit topic is onderdeel van een reeks. Ga naar het meest recente topic in deze reeks.

Pagina: 1
Acties:

Acties:
  • 0 Henk 'm!

  • zeef
  • Registratie: Januari 2000
  • Laatst online: 07:17
Java is een van de populairste programmeertalen, die tegenwoordig veel gebruikt wordt voor de ontwikkeling van Android-apps, maar het lukt maar een handjevol enthousiastelingen om deze taal zelf onder de knie te krijgen. Vorig jaar leerde je bij de Online Java Academy, powered by Tweakers en Capgemini, hoe je een android app maakte, maar om echt de volgende stap te zetten heeft jouw app een "backend" nodig.

Maak een Restful API en serverapplicatie in Java.
In deze reeks van 12 tutorials leer je hoe je data verzamelt en opslaat in een database, en hoe je deze data uiteindelijk in een mobile of web applicatie kan laten zien. We laten zien wat de "cloud" is en hoe je je server toegankelijk maakt voor alle apparaten op het internet. Om ervoor te zorgen dat je app interessant blijft, laten we de applicatie zelfstandig nieuwe data op internet ontdekken via verschillende integraties met bijvoorbeeld youtube.

Praktische info
Alle 12 afleveringen zijn per vandaag beschikbaar op deze pagina, zodat je in je eigen tempo de hele serie kunt bekijken. In iedere video geven we je makkelijke en moeilijke challenges voor extra verdieping en uitdaging. Bij iedere aflevering is een apart forumtopic beschikbaar waar vragen gesteld kunnen worden en/of kennis gedeeld.

Winactie
Ook dit keer hebben we weer een mooie winactie geregeld. Bekijk de video’s, geef de juiste antwoorden op een vijftal vragen en maak zo kans op een Java Track naar keuze, beschikbaar gesteld door Capgemini Academy. Bekijk hier de vragen, spelregels en voorwaarden.

Tutorial 5: Toegang tot database vanuit de applicatie: de “data Access Layer”

We hebben de database structuur gegeven en gevuld met testdata. We zijn nu klaar om deze data te gaan gebruiken in de applicatie. In deze tutorial kijken we hoe we data uit de H2 database kunnen opvragen en deze kunnen gebruiken in onze API.

Wat vind je van deze tutorial? Loop je ergens tegenaan of wil je meer weten? Laat het ons weten!

[ Voor 36% gewijzigd door zeef op 12-07-2016 15:00 ]


Acties:
  • 0 Henk 'm!

  • djgeronimo
  • Registratie: Februari 2006
  • Laatst online: 24-08 16:10
Waarom wordt er eigenlijk gekozen voor de Flyway DB migratie scripten ipv het DB schema door Hibernate te laten genereren?

Telkens als je nu een aanpassing doet aan je entiteiten, moet je manueel het Flyway migratie script aanpassen, zodat dit in lijn is met de wijzigingen. Hibernate doet dit automatisch voor je als je het eerder gemaakte schema dropt.

Acties:
  • 0 Henk 'm!

  • DJMaze
  • Registratie: Juni 2002
  • Niet online
djgeronimo schreef op dinsdag 02 augustus 2016 @ 22:59:
Waarom wordt er eigenlijk gekozen voor de Flyway DB migratie scripten ipv het DB schema door Hibernate te laten genereren?
Ik ben het wel met je eens :)

[ Voor 26% gewijzigd door Creepy op 03-08-2016 08:54 ]

Maak je niet druk, dat doet de compressor maar


Acties:
  • 0 Henk 'm!

  • nappie87
  • Registratie: Juli 2011
  • Laatst online: 02-09 18:43
Ik moest even op zoek zoek naar informatie hoe de repositories werken, de eerste links gaven mij net te weinig informatie voor een goede filter. JPA.Query-Methods vond ik goed helpen.

Mijn interpretatie van de challenges:

Java: ProductListRepository.java
8
9
10
11
public interface ProductListRepository extends CrudRepository<ProductList, Long> {

    List<ProductList> findByProductsIsNotNull();
}


en de controller:

Java: ProductListController.java
29
30
31
32
33
34
35
36
    
@RequestMapping(value="/lists/filter/{filterName}", method=RequestMethod.GET)
    public List<ProductList> showAllWithFilter(@PathVariable String filterName) {
         if (filterName.equals("nonempty")) {
            return productListRepository.findByProductsIsNotNull();
        } else {
                return (List<ProductList>) productListRepository.findAll();
        }


De API-endpoint voor de niet lege ProductLists is dan http://localhost:8080/api/lists/filter/nonempty

GitHub Tutorial 5
GitHub Challenges Tutorial 5

  • Mortis__Rigor
  • Registratie: Oktober 2004
  • Laatst online: 08:34
djgeronimo schreef op dinsdag 02 augustus 2016 @ 22:59:
Waarom wordt er eigenlijk gekozen voor de Flyway DB migratie scripten ipv het DB schema door Hibernate te laten genereren?

Telkens als je nu een aanpassing doet aan je entiteiten, moet je manueel het Flyway migratie script aanpassen, zodat dit in lijn is met de wijzigingen. Hibernate doet dit automatisch voor je als je het eerder gemaakte schema dropt.
Net omdat je in een real-life omgeving het eerder gemaakte schema nooit wilt droppen.
Maar je wilt wel op een eenvoudige/automatische manier aanpassingen doorvoeren op een bestaand schema.