Database (Doctrine DBAL)

This chapter describes accessing the database on the level of the Doctrine Database Abstraction Layer (DBAL).

The Doctrine Database Abstraction Layer (DBAL) in TYPO3 provides developers with a powerful and flexible way to interact with databases, allowing them to perform database operations through an object-oriented API while ensuring compatibility across different database systems.

Within the TYPO3 backend rows of database tables are usually represented as Database records and configured in TCA (Table Configuration Array).

In Extbase based extensions tables are abstracted as Extbase models. Operations such as creating, updating and deleting database records are usually performed from within a Extbase repository with methods provided by Extbase classes. However, Doctrine DBAL can also be used by extensions that use, for example an Extbase controller.