|
iBATIS in Action
Unlike some complex and invasive persistence solutions, iBATIS keeps O/RM clean and simple. It is an elegant persistence framework that maps classes to SQL statements and keeps the learning curve flat. The iBATIS approach makes apps easy to code, test, and deploy. You write regular SQL and iBATIS gives you standard objects for persistence and retrieval.
There's no need to change existing database schemas - iBATIS is tolerant of legacy databases (even badly designed ones).
iBATIS in Action is a comprehensive tutorial on the framework and an introduction to the iBATIS philosophy. Clinton Begin and coauthors lead you through the core features, including configuration, statements, and transactions. Because you'll need more than the basics, it explores sophisticated topics like Dynamic SQL and data layer abstraction. You'll also learn a useful skill: how to extend iBATIS itself. A complete, detailed example shows you how to put iBATIS to work. Topics are clearly organized and easily accessible for reference.
Part 1 Introduction
1 The iBATIS philosophy
1.1 A hybrid solution: combining the best of the best
1.2 Where iBATIS fits
1.3 Working with different database types
1.4 How iBATIS handles common database challenges
1.5 Summary
2 What is iBATIS?
2.1 Mapping SQL
2.2 How it works
2.3 Why use iBATIS?
2.4 When not to use iBATIS
2.5 iBATIS in five minutes
2.6 The future: where is iBATIS going?
2.7 Summary
Part 2 iBATIS basics
3 Installing and configuring iBATIS
3.1 Getting an iBATIS distribution
3.2 Distribution contents
3.3 Dependencies
3.4 Adding iBATIS to your application
3.5 iBATIS and JDBC
3.6 iBATIS configuration continued
3.7 Summary
4 Working with mapped statements
4.1 Starting with the basics
4.2 Using mapped statements
4.3 Mapping parameters
4.4 Using inline and explicit result maps
4.5 Summary
5 Executing nonquery statements
5.1 The building blocks for updating data
5.2 Inserting data
5.3 Updating and deleting data
5.4 Running batch updates
5.5 Working with stored procedures
5.6 Summary
6 Using advanced query techniques
6.1 Using XML with iBATIS
6.2 Relating objects with mapped statements
6.3 Inheritance
6.4 Other miscellaneous uses
6.5 Summary
7 Transactions
7.1 What is a transaction?
7.2 Automatic transactions
7.3 Local transactions
7.4 Global transactions
7.5 Custom transactions
7.6 Demarcating transactions
7.7 Summary
8 Using Dynamic SQL
8.1 Dealing with Dynamic WHERE clause criteria
8.2 Getting familiar with the dynamic tags
8.3 A complete simple example
8.4 Advanced Dynamic SQL techniques
8.5 Alternative approaches to Dynamic SQL
8.6 The future of Dynamic SQL
8.7 Summary
Part 3 iBATIS in the real world
9 Improving performance with caching
9.1 A simple iBATIS caching example
9.2 iBATIS's caching philosophy
9.3 Understanding the cache model
9.4 Using tags inside the cache model
9.5 Cache model types
9.6 Determining a caching strategy
9.7 Summary
10 iBATIS data access objects
10.1 Hiding implementation details
10.2 Configuring the DAO
10.3 Configuration tips
10.4 A SQL Map DAO implementation example
10.5 Summary
11 Doing more with DAO
11.1 Non-SQLMap DAO implementations
11.2 Using the DAO pattern with other data sources
11.3 Using the Spring DAO
11.4 Creating your own DAO layer
11.5 Summary
12 Extending iBATIS
12.1 Understanding pluggable component design
12.2 Working with custom type handlers
12.3 Working with a CacheController
12.4 Configuring an unsupported DataSource
12.5 Customizing transaction management
12.6 Summary
Part 4 iBATIS recipes
13 iBATIS best practices
13.1 Unit testing with iBATIS
13.2 Managing iBATIS configuration files
13.3 Naming conventions
13.4 Beans, maps, or XML?
13.5 Summary
14 Putting it all together
14.1 Design concept
14.2 Choosing technologies
14.3 Tweaking Struts: the BeanAction
14.4 Laying the foundation
14.5 Configuring the web.xml
14.6 Setting up the presentation
14.7 Writing your service
14.8 Writing the DAO
14.9 Summary
iBATIS.NET Quick Start
index
|