ibatis-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Paul Benedict (JIRA)" <ibatis-...@incubator.apache.org>
Subject [jira] Commented: (IBATIS-226) Support Commons DBUtils ResultSetHandler
Date Sun, 20 Nov 2005 18:02:25 GMT
    [ http://issues.apache.org/jira/browse/IBATIS-226?page=comments#action_12358098 ] 

Paul Benedict commented on IBATIS-226:

Jeff and Larry, thank you for your kind replies.

First, remember that Java is completely dynamically linked. Just because you include support
for DBUtils, does not mean you then have to include that jar in your distribution -- it's
ONLY if you actually end up using that file. Spring is totally packaged this way; if you don't
use a certain aspect, you also don't need the supporting libraries because they are never
invoked. DBUtils is such a small library; I understand the concern BUT have you seen the class?
It is LITERALLY this:

public interface ResultSetHandler {
    public Object handle(ResultSet rs);


However, if you're looking to completely avoid dependency on another library, you can easily
include this class in the distribution yourself. For instance, in the Commons BeanUtils package
they actually import a few classes from Commons Lang to prevent the dependency on the entire
library. This is a very smart option. Likewise, linking in this ONE file gives a great benefit
to all IBATIS.

As for Jeff's comment: I use Hibernate all day at work and I probably would not use it otherwise.
It's a great product, but personally I have pre-written queries in XML files and IBATIS is
a natural migration path for me. I have large SQL statements that would be a real burden (or
impossible) to turn into HQL. Besides, replacing my ? with the #var# and using <sql>
replacements, IBATIS  gives me so much benefit that I didn't have before. I love IBATIS but
I am also stretching it to the max....

I take my problems to the OS community because my problems are opportunties for product improvements.
I really find this feature valuable and a PLUS for IBATIS, but please give me a hard thought
on this issue. Let me submit a patch and you guys can then debate the merit of it looking
at the code. It might be as good as I say and not as terrible as you think.

> Support Commons DBUtils ResultSetHandler
> ----------------------------------------
>          Key: IBATIS-226
>          URL: http://issues.apache.org/jira/browse/IBATIS-226
>      Project: iBatis for Java
>         Type: New Feature
>   Components: SQL Maps
>     Reporter: Paul Benedict

> Sometimes I need total control over the caching mechanism for very critical systems.
I need to also guarantee object identity and I can only do this when handling the result set
myself. I propose adding an attribute to the <statement> tag (and also <select>,
<insert>, <update>) that will specify a subclass of ResultSetHandler so that I
may write custom code and decode the ResultSet myself. The ResultSetHandler class is part
of the Jakarta Commons DBUtils package. It is extremely useful!
> <select id="findMyObject" resultSetHandler="com.company.MyResultSetHandler">
> To prevent excess object creation, IBATIS must reuse the same instance it creates. 

This message is automatically generated by JIRA.
If you think it was sent incorrectly contact one of the administrators:
For more information on JIRA, see:

View raw message