You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user-java@ibatis.apache.org by Jason Novotny <no...@gridsphere.org> on 2008/06/25 03:45:18 UTC
how to get db metadata
Hi,
I'm converting a nasty python script to java and they use the
database metadata to determine the list of databases (the equivalent of
a "show databases;" MySql command) and then connect to the appropriate
one before querying on tables. Is there a way to do this using iBatis?
Thanks, Jason
Re: how to get db metadata + dynamic spring config
Posted by Jason Novotny <no...@gridsphere.org>.
Hi,
Thanks for that tip. My other dilemma is that I normally would use
spring ibatis configuration but hat works fine when I generally have a
single connection to a known database e.g.
<bean id="dataSource1" destroy-method="close"
class="org.apache.commons.dbcp.BasicDataSource">
<property name="driverClassName" value="${jdbc1.driverClassName}"/>
<property name="url" value="${jdbc1.url}"/>
<property name="username" value="${jdbc1.username}"/>
<property name="password" value="${jdbc1.password}"/>
</bean>
<bean id="sqlMapClient1"
class="org.springframework.orm.ibatis.SqlMapClientFactoryBean">
<property name="configLocation"
value="classpath:/conf/sqlmap1-config.xml"/>
<property name="dataSource" ref="dataSource1"/>
</bean>
<bean id="testService"
class="org.novotny.services.impl.ibatis.TestServiceImpl">
<property name="sqlMapClient" ref="sqlMapClient1"/>
</bean>
In my current situation, I have an unknown number of databases that I
can determine from the INFORMATION_SCHEMA and they all have the same
table structure-- so I then need to presumably (re)create 10 different
BasicDataSource's with 10 SqlMapClients (and apparently 10 testServices
as well) (basically rejigger the sqlMapClient and BasicDataSource
initially loaded by spring) (I don't need all 10 at once-- I can create
each of the dataSource, sqlMapClient, testService one at a time for
each of the databases). Any thoughts on how to do this? It sounds pretty
painful since it seems Spring is best suited for static configuration...
Thanks again, Jason
Toby Thain wrote:
>
> On 24-Jun-08, at 10:45 PM, Jason Novotny wrote:
>
>>
>> Hi,
>>
>> I'm converting a nasty python script to java and they use the
>> database metadata to determine the list of databases (the equivalent
>> of a "show databases;" MySql command) and then connect to the
>> appropriate one before querying on tables. Is there a way to do this
>> using iBatis?
>
> You can use MySQL's INFORMATION_SCHEMA.
>
> --Toby
>
>>
>> Thanks, Jason
Re: how to get db metadata
Posted by Toby Thain <to...@smartgames.ca>.
On 24-Jun-08, at 10:45 PM, Jason Novotny wrote:
>
> Hi,
>
> I'm converting a nasty python script to java and they use the
> database metadata to determine the list of databases (the
> equivalent of a "show databases;" MySql command) and then connect
> to the appropriate one before querying on tables. Is there a way to
> do this using iBatis?
You can use MySQL's INFORMATION_SCHEMA.
--Toby
>
> Thanks, Jason