Java Reference
In-Depth Information
Listing 2.1
A sample SQL mapping descriptor
<select id="getAddress"
parameterClass="int"
resultClass="Address">
SELECT
ADR_ID as id,
ADR_DESCRIPTION as description,
ADR_STREET as street,
ADR_CITY as city,
ADR_PROVINCE as province,
ADR_POSTAL_CODE as postalCode
FROM ADDRESS
WHERE ADR_ID = #id#
</select>
Here we can see a SQL SELECT statement that returns address data. From the
<select> element we can see that it takes an Integer object as a parameter, which
is marked by the #id# token in the WHERE clause. We can also see that the result is
an object instance of the Address class, which is assumed to contain the properties
of the same name as the aliases assigned to each column in the SELECT clause. For
example, the alias id would be mapped to a property of the Address class also
called id . Believe it or not, that is all it takes to map a SQL statement that receives
an integer as a parameter and returns an Address object as output. The Java code
used to execute this statement would be
Address address = (Address) sqlMap.queryForObject("getAddress",
new Integer(5));
The SQL mapping approach is a very portable concept that can be applied to any
full-featured programming language. For example, the C# code from i BATIS . NET
is nearly identical:
Address address = (Address) sqlMap.QueryForObject("getAddress", 5);
Of course there are more advanced options for mapping, especially around
results. But we'll discuss those in greater detail in part 2, “i BATIS basics.” Right
now, it's more important to understand the features and benefits of i BATIS and
how it works.
Search WWH ::




Custom Search