New course in portfolio
Course code: GJB_SPRINGDB« Back

Creating database applications in Spring framework

  • Gopas Java Bootcamp (GJB) is a new developing area of ??Java courses in Gopas, created in response to the need to offer current Java topics. In these courses, participants can learn the most advanced programming approaches under the guidance of experienced developers. These are unauthorized courses of the highest quality. They can be identified by the GJB prefix in the course code. There are currently three new GJB_SBREA, GJB_SPRINGDB and GJB_SBREGRA courses in this area, but we are expecting to expand this offer soon.
  • The course focuses on accessing Java applications to the database. The course discusses various implementation methods using Java Database Connectivity (JDBC), JdbcTemplate, Java Persistence API (JPA), Spring Data and MyBatis. Concepts and reasons for deploying these approaches for selected types of applications are explained. The first part implements the connection to the database via JDBC, which is then simplified by the extension from Spring in the form of JdbcTemplate. The next part of the course focuses on the possibilities of object-relational mapping (JPA standard - implementation framework Hibernate) with respect to detailed description of mapping between entity classes and database tables. Selected Java Persistence Query Language (JPQL) queries are implemented with respect to their performance and optimization. The following is an explanation of transaction concepts, including their promotion and the transfer of JPQL queries to Spring Data, and an alternative in the form of the MyBatis framework. Everything culminates in an overview of best practices and design patterns for individual alternatives.
  •  DateDurationCourse priceHandbook priceCourse languageLocation 
    4/14/2020 4 28 800 CZK - Český jazyk GOPAS Praha
    8/11/2020 4 28 800 CZK - Český jazyk GOPAS Praha
    11/24/2020 4 28 800 CZK - Český jazyk GOPAS Praha
    4/14/2020 4 28 800 CZK - Český jazyk GOPAS Brno_GTT
    4/14/2020 4 1 180,00 EUR - Český jazyk GOPAS Bratislava_GTT

    AffiliateDurationCatalogue priceHandbook priceITB
    Praha4 28 800 CZK included in course price 40
    Brno4 28 800 CZK included in course price 40
    Bratislava4 1 180,00 EUR included in course price 40

    Required skills:

    • Basic knowledge and experience with SQL
    • Basic knowledge and experience with application development in Java and JDBC

    Teaching methods:

    • Professional explanation with practical samples and examples.

    Teaching materials:

    • Powerpoint handouts and module printouts.

    Course syllabus:

    Introduction to the possibilities of application access to the database

    • Suitability of different approaches, advantages and disadvantages
    • JDBC, JdbcTemplate
    • JPA, Spring Data
    • MyBatis


    • JDBC interface, JDBC drivers
    • Database connection
    • Sending SQL statements to the database using PredparedStatement, Statement, ResultSet
    • Spring JdbcTemplate


    • The need and suitability of Object-Relation Mapping (ORM) applications
    • Standard JPA
    • Entities, DAO, Repository
    • EntityManager, Persistent context

    Modeling of relational databases with JPA entities

    • Implementation of one-to-one unidirectional and bidirectional constraints
    • Implementation of many-to-one / one-to-many unidirectional and bidirectional constraints
    • Implementation of many-to-many unidirectional and bidirectional constraints
    • Use of suitable data structures (enums, collections, maps)
    • Advanced modeling (inheritance, embeddable classes, composite primary keys)

    Interviewing in JPA (Hibernate Framework)

    • Introduction to Java Persistence Query Language (JPQL)
    • NamedQuery advantages and disadvantages

    Filter results

    • Different types of JOINs, JOIN FETCH
    • Criteria API
    • Use of canonical model

    Transaction and locking

    • Description of transaction mechanisms
    • Spring Transactions vs. Java EE Transactions
    • Propagation and isolation of transactions
    • Locking (ReetrantLock, ...)

    Spring Data

    • Superstructure above JPA in the form of Spring Data
    • Pagination and sorting
    • Spring Repositories
    • Custom Spring Repository implementation
    • Benefits of using Spring Data over JPA


    • Possibility to use MyBatis
    • SQLSessionFactory, SQLSession
    • Mappers
    • Querying and dynamic queries

    Optimization of JPA queries

    • FetchType Lazy vs Eager
    • Modifying queries to prevent N + 1 problem
    • Cache Usage
    • Appropriate setting of the primary key generation strategy
    • Debugging queries, EXPLAIN
    Tištěné nebo elektronické studijní materiály GOPAS

    included in course price
    The prices are without VAT.