database. i BATIS is a unique solution that borrows concepts from several other
approaches. Let's start by taking a quick look at these approaches.
Exploring the roots of iBATIS
i BATIS takes the best attributes and ideas from the most popular means of access-
ing a relational database, and finds synergy among them. Figure 1.1 shows how
the i BATIS framework takes what was learned through years of development using
different approaches to database integration, and combines the best of those les-
sons to create a hybrid solution.
The following sections discuss these various approaches to interacting with the
database and describe the parts of each that i BATIS leverages.
Structured Query Language
At the heart of i BATIS is SQL . By definition, all relational databases support SQL as
the primary means of interacting with the database. SQL is a simple, nonproce-
dural language for working with the database, and is really two languages in one.
The first is Data Definition Language ( DDL ), which includes statements like
CREATE , DROP , and ALTER . These statements are used to define the structure and
design of the database, including the tables, columns, indexes, constraints, proce-
dures, and foreign key relationships. DDL is not something that i BATIS supports
directly. Although many people have successfully executed DDL using i BATIS , DDL
is usually owned and controlled by a database administration group and is often
beyond the reach of developers.
Some of the ideas that iBATIS
pulls together to simplify the