• 6 hours
  • Medium

Free online content available in this course.

course.header.alt.is_video

course.header.alt.is_certifying

Got it!

Last updated on 4/15/20

Course introduction

How do you store data for your Java applications? How do you organize your software so that you can upgrade the storage mechanisms without having to review all your application code?

Just as humans write down shopping lists, or keep a diary, or store names and addresses, applications also need to write down data to retrieve data later.

This course takes you through a variety of simple ways to store information in Java, known as persistence. These give you a broad understanding of possible options and how they work as you start your professional career.

  • In Part 1, we introduce some low-level persistence techniques and get used to storing objects in disk files using serialization. 

  • In Part 2, we connect to relational databases and use their features to store and query sets of objects.

  • In Part 3, we wrap our persistence code in a particular facade pattern known as the repository pattern so that we can swap between persistence techniques. We try out one of the significant advantages this brings us: using mock repositories for testing.

On completion, you will be able to use a range of persistence technologies and to structure your software to separate the persistence aspects from the rest of your application.

Meet Your Teacher: Martin Hill

Martin designs and delivers information systems to solve unusual and interesting problems - including camel breeding in Kenya, satellite control systems in France, astronomy in Scotland, battlefield sensor meshes in Wales, and "catching bad guys" in England.

Martin Hill
Martin Hill

He takes a pragmatic rather than principled approach to programming, treating the vast array of delivery techniques that are available to all of us as a toolbox to pick and choose from. Selecting the right technology for the task is key to providing the right solution, whether that is storing temporary settings for quick-and-dirty demonstrators, or integrating petabyte-sized distributed datasets to mine for unusual patterns.

He teaches analytic techniques to intelligence operators and studies knowledge distribution at Cranfield University.

Example of certificate of achievement
Example of certificate of achievement