Java Reference
In-Depth Information
.NET
in more detail in appendix. i
BATIS
has been implemented for Ruby as well,
but Ruby is a significantly different language, and therefore i
BATIS
for Ruby is
quite different as well. We'll not discuss the Ruby implementation here.
In addition to Java and C#, the i
BATIS
team has discussed implementing i
BATIS
in other languages, including
PHP
5 and Python. We believe that i
BATIS
can con-
tribute significant value to almost any platform where the choices are limited to a
low-level database
API
and a high-level object/relational mapping tool. i
BATIS
can
fill the middle ground and again allow you to implement all of your applications
in a consistent way across the board.
We've also discussed drafting a specification that would make it easier to
migrate i
BATIS
to different platforms and ensure reasonable consistency. Of
course, we'd like i
BATIS
to take full advantage of unique language and platform
features, but we'd also like to see some level of similarity to ensure that they can
all be called i
BATIS
and be recognizable to developers experienced with i
BATIS
in
another language.
2.7 Summary
In this chapter you learned that i
BATIS
is a unique data mapper that uses an
approach called
SQL
mapping to persist objects to a relational database. i
BATIS
is
consistently implemented in both Java and
.NET
, and there is significant value in a
consistent approach to persistence in your applications.
You also learned how i
BATIS
works. Generally, under the hood i
BATIS
will run
well-written
JDBC
or
ADO.NET
code that would otherwise be hard to maintain
when coded manually. You found that when compared to
JDBC
, i
BATIS
code is less
verbose and easier to code.
We discussed how i
BATIS
, despite its simple design, is a very appropriate frame-
work for both small and large enterprise applications alike. i
BATIS
has many fea-
tures that support enterprise-level persistence requirements. Features such as row
handlers allow large data sets to be processed efficiently, one record at a time, to
ensure that you don't completely drain the system memory.
We also discussed a number of important features that distinguish i
BATIS
from
the competition, and we made a strong case for using i
BATIS
. These features
include the following:



