ibatis-user-java mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Brandon Goodin <brandon.goo...@gmail.com>
Subject Re: Feature Request
Date Tue, 24 May 2005 03:52:37 GMT
SqlMapClientBuilder takes a reader. If you have a String in memory
then why couldn't you use a StringReader?

Brandon

On 5/23/05, Rob Butler <crodster2k@yahoo.com> wrote:
> Hello,
> 
> I am building an application that will need to
> dynamically build an SQL statement at run time, and
> then populate the statement's fields from a map.
> Sounds perfect for iBatis, right.  That's what I
> thought, but I don't think iBatis does quite what I
> need.  Normally iBatis can dynamically change it's SQL
> but you need to know things like the number, name &
> type of columns in advance when the SqlMap is created.
> 
> Unfortunately in my application, the SQL statement
> that is built at runtime is completely dynamic.  The
> name of the columns, their data types and the number
> of columns will only be known at run time.  So what I
> would like to do is dynamically instantiate an
> SqlMapClient from a String, which contains the SqlMap
> that is dynamically generated at run time.  Then let
> iBatis do the work of converting the map's values into
> the correct data types and populating the SQL's field
> values.  It would be nice if the table name could be
> passed as a property instead of in the map of data.
> 
> This looks like it would be possible with the
> SqlMapClientBuilder, but I don't think that is going
> to work.  The problem is it wants to read an
> SqlMapConfig, which then of course points to an SqlMap
> file.  However, the SqlMap file obviously won't exist
> anywhere but as a string in ram, and it's not possible
> (as far as I know) to directly load an SqlMap using
> SqlMapClientBuilder, nor is it possible to load a
> single "file" (string in ram) that is a combined
> SqlMapConfig & SqlMap.
> 
> I could probably cobble something together using the
> internal non-user exposed classes within iBatis, but
> then if those classes change from one release to the
> next I would have to make the appropriate changes to
> my code, and I would prefer to use something that is
> part of iBatis.
> 
> So, I would like to request a feature to make
> dynamically building the SqlMap at runtime possible.
> I suppose this could be done by developing a class
> like SqlMapClientBuilder that accepted a String, and
> didn't need an SqlMapConfig, just a SqlMap XML.
> Alternately, a fixed API could be exposed to users to
> manually construct a SqlClientMap.
> 
> Thoughts?  Is there a better approach that works now?
> Did I miss something obvious?
> 
> Thanks, and iBatis rocks!
> Rob
> 
> 
> 
> __________________________________
> Do you Yahoo!?
> Yahoo! Small Business - Try our new Resources site
> http://smallbusiness.yahoo.com/resources/
>

Mime
View raw message