Level: Intermediate / Duration: 5h25
This course is for Quarkus developers who want to discover how Quarkus handles relational databases. It’s a mixture of slides and code so you can “Understand and Practice” at the same time. This way, you learn the theory, and then put it into practice by developing an application step by step.
In this course you will develop a Quarkus applications maps and queries different kind of persistent objects to several relational databases. After introducing JDBC, JPA and Panache ORM, you will make sure your development environment is set up, and you will go from bootstrapping three Quarkus applications, developing and refactoring a rich business model, map and query these objects to a Postgres database. The different steps you’ll go through are:
- Understand JDBC, JPA and Panache ORM
- Understand SQL, JPQL and Simplified Panache JPQL
- Understand the differences between Panache Active Record and Panache Repositories
- Check your development environment
- Bootstrap three Quarkus applications:
- POJOs and JDBC with MySQL
- JPA Entities with MariaDB
- Panache ORM Entities with PostgresSQL
- Test and refactor these applications so they have dependencies between them
- Map persistent objects to a relational database (with annotations and XML)
- Map inheritance and relationships
- Query persistent objects using JPQL and Simplified Panache QL
- Expose data in JSON using REST endpoint with JAX-RS and JSON-B
- Handle transactions
- Visualise data in HTML using Qute templates and Twitter Bootstrap
- Use Quarkus profiles to switch between database
- Execute the application in dev/test/production mode thanks to DevServices and Docker
At the end of the course you’ll get a good understanding on how to develop a data centric application with Quarkus. You will be able to bootstrap, develop, package and execute an application that accesses a relational database, but most important, take Quarkus to your next project.
Good luck for the course, and please reach out if you need any help or if you have any request: I’m here to help!