iBATIS in Action
Clinton Begin, Brandon Goodin and Larry Meadors
  • January 2007
  • ISBN 9781932394825
  • 384 pages
  • printed in black & white

... readable and nicely structured.

Greg Trasuk, JavaLobby

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.

Table of Contents show full

preface

acknowledgments

about this book

about the authors

about the title

about the cover illustration

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 <select> 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

© 2014 Manning Publications Co.

About the Technology

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).

What's inside

  • A comprehensive iBATIS tutorial
  • Learn iBATIS techniques, patterns, and best practices
  • How to build a complete web application
  • Inside story from the authoritative source

About the authors

Clinton Begin is a Senior Developer and Agile Mentor for ThoughtWorks Canada. He has been building enterprise applications for nine years based on platforms such as Java and .NET. Clinton has extensive experience with agile methodologies, persistence frameworks, and relational databases. He is the original creator of the iBATIS persistence framework, which he designed in response to the challenges faced by object oriented developers dealing with enterprise relational databases.

Brandon Goodin is an independent consultant residing in Franklin, TN. He has been involved in developing enterprise applications for over seven years, utilizing a varied set of languages and technologies. His industry experience spans manufacturing, health care, e-commerce, real estate and recreation. He has been contributing to the iBATIS project since 2003.

Larry Meadors is an independent consultant offering development, support, and training services. He has been building enterprise web applications with mutiple databases and multiple languages since the late 90s, and got involved with the iBATIS project way back in the 1.x days.


combo $44.99 pBook + eBook
eBook $35.99 pdf + ePub + kindle

FREE domestic shipping on three or more pBooks

Unique and invaluable, this book will be at my side for years to come.

Nathan Maves, Sun Microsystems

This book really shines.

Benjamin Gorlick, Global Engineered Products, LLC

The writing is good, relaxed, and sometimes fun.

Dick Zetterberg, Transitor AB

Gets new users going and gives experienced users in-depth coverage of advanced features.

Jeff Cunningham, The Weather Channel Interactive

Easy flow, good breakdown of topics, relevant and thorough - valuable for all.

Rick Reumann, Nielsen Media Research