In Java, a data access object (DAO) is a design pattern that provides an abstract interface for accessing data from a database.