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 Larry Meadors <la...@gmail.com> on 2010/04/26 17:04:45 UTC
Using auto-discovery for ibatis3 configuration - works great, less
XML
I spent the weekend exploring how to use convention-based
configuration with ibatis3 on a new project I'm working on.
Open source is great, so I lifted the Stripes ResolverUtil class to
assist me in finding classes that I then wired into my ibatis
configuration at startup.
For example:
- I have all of my beans in one package, so I create type aliases for
all of them: "blah.blah.Order" becomes "Order"
- I have all of my type handlers in one package, so I register (or
alias) them the same way (more on this in a bit)
- I have all of my mapper interfaces in one package, so I register
all of them the same way
My current configuration eliminates the main XML configuration file,
and I also put the SQL map XML files in the same packages as the
mapper interfaces, so registering the interface loads the XML SQL
maps, too.
One thing I did have to add is a @MappedType(class[]) annotation for
my type handlers - this allows me to control if I want to have my type
handlers registered globally or just aliased - without the annotation,
they are just aliased (so "blah.blah.OrderHandler" becomes
"OrderHandler" - simpler to use in the XML files). With the the
annotation, I register it globally for the types listed.
If folks are interested in seeing more on this, I can put together a
simple example app that does it (or help someone out if they want it
sooner).
Anyone?
Larry
PS:
This may be more appropriate on the dev list, but since Stripes is
distributed under ASL2, I could even add this to the core - it's one
new class, and we could extend the configuration API to have these
kinds of methods:
- typeHandlerRegistry.registerPackage(String packageName);
- configuration.addMapperPackage(String packageName)
- typeAliasRegistry.registerAliases(String packageName);
---------------------------------------------------------------------
To unsubscribe, e-mail: user-java-unsubscribe@ibatis.apache.org
For additional commands, e-mail: user-java-help@ibatis.apache.org
Re: Using auto-discovery for ibatis3 configuration - works great,
less XML
Posted by "Ing. Jan Novotný" <no...@gmail.com>.
Sounds very interesting - at least I am interested because we use the same
combination of iBatis and Stripes in our company. Could you make you
sources accessible somewhere - possibly on iBatis Confluence site? Thank you
in advance.
Regards,
Jan
2010/4/26 Larry Meadors <la...@gmail.com>
> I spent the weekend exploring how to use convention-based
> configuration with ibatis3 on a new project I'm working on.
>
> Open source is great, so I lifted the Stripes ResolverUtil class to
> assist me in finding classes that I then wired into my ibatis
> configuration at startup.
>
> For example:
> - I have all of my beans in one package, so I create type aliases for
> all of them: "blah.blah.Order" becomes "Order"
> - I have all of my type handlers in one package, so I register (or
> alias) them the same way (more on this in a bit)
> - I have all of my mapper interfaces in one package, so I register
> all of them the same way
>
> My current configuration eliminates the main XML configuration file,
> and I also put the SQL map XML files in the same packages as the
> mapper interfaces, so registering the interface loads the XML SQL
> maps, too.
>
> One thing I did have to add is a @MappedType(class[]) annotation for
> my type handlers - this allows me to control if I want to have my type
> handlers registered globally or just aliased - without the annotation,
> they are just aliased (so "blah.blah.OrderHandler" becomes
> "OrderHandler" - simpler to use in the XML files). With the the
> annotation, I register it globally for the types listed.
>
> If folks are interested in seeing more on this, I can put together a
> simple example app that does it (or help someone out if they want it
> sooner).
>
> Anyone?
>
> Larry
>
>
> PS:
>
> This may be more appropriate on the dev list, but since Stripes is
> distributed under ASL2, I could even add this to the core - it's one
> new class, and we could extend the configuration API to have these
> kinds of methods:
> - typeHandlerRegistry.registerPackage(String packageName);
> - configuration.addMapperPackage(String packageName)
> - typeAliasRegistry.registerAliases(String packageName);
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: user-java-unsubscribe@ibatis.apache.org
> For additional commands, e-mail: user-java-help@ibatis.apache.org
>
>
--
--------------------------------------------------------------
Ing. Jan Novotný
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
http://blog.novoj.net
Myšlenky dne otce Fura
--------------------------------------------------------------