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 kruba02 <kr...@ca.com> on 2010/01/13 19:37:36 UTC
How to use @SelectProvider
Hi,
I am trying to execute a dynamic/custom query using iBATIS (using
#SelectProvider) and am facing a couple of issues.
1. I have something like @SelectProvider(method = "selectTest", type =
"com.a.b.DynamicSQL") where method is the method-name and type is the name
of the class. I get an error here. Both the class and method exist.
selectTest looks like following. Any idea how I can remove the error?
public String selectTest(){
BEGIN();
SELECT("*");
FROM("test");
return SQL();
}
2. The documentation says that @SelectProvider is a method annotation. If I
annotate a method say Foo() using the above @SelectProvider, what should the
method itself have?
3. Lastly, how do I invoke this select query?
Your help is much appreciated. Sorry, I am just getting started with iBATIS.
Also, are there any other ways to execute queries which are constructed on
the fly?
Thanks in advance for your help.
KA
--
View this message in context: http://old.nabble.com/How-to-use-%40SelectProvider-tp27148804p27148804.html
Sent from the iBATIS - User - Java mailing list archive at Nabble.com.
---------------------------------------------------------------------
To unsubscribe, e-mail: user-java-unsubscribe@ibatis.apache.org
For additional commands, e-mail: user-java-help@ibatis.apache.org
Re: How to use @SelectProvider
Posted by Clinton Begin <cl...@gmail.com>.
Now it's time to read the user guide.... :-)
Clinton
On Wed, Jan 13, 2010 at 2:35 PM, kruba02 <kr...@ca.com> wrote:
>
> Thanks Clinton
>
> I am still missing one piece i.e. how to invoke this mapper. Do I use
> SqlMapClient? An example code will be great.
>
> Thanks a lot!
>
>
>
> Clinton Begin wrote:
> >
> > @SelectProvider should be applied to your Mapper interface. For example:
> >
> > public interface MyMapper {
> > @Select("SELECT * FROM users")
> > User selectUsers();
> > }
> >
> > The SelectProvider equivalent of this would be:
> >
> >
> > public interface MyMapper {
> >
> >
> @SelectProvider(type=com.me.SomeHelperClass,method="getSelectAllUsersSQL")
> >
> > User selectUsers();
> > }
> >
> > public clas SomeHelperClass {
> > public String getSelectAllUsersSQL() {
> > return "SELECT * FROM users";
> > }
> > }
> >
> > Cheers,
> > Clinton
> >
> >
> >
> > On Wed, Jan 13, 2010 at 11:37 AM, kruba02 <kr...@ca.com> wrote:
> >
> >>
> >> Hi,
> >>
> >> I am trying to execute a dynamic/custom query using iBATIS (using
> >> #SelectProvider) and am facing a couple of issues.
> >>
> >> 1. I have something like @SelectProvider(method = "selectTest", type =
> >> "com.a.b.DynamicSQL") where method is the method-name and type is the
> >> name
> >> of the class. I get an error here. Both the class and method exist.
> >> selectTest looks like following. Any idea how I can remove the error?
> >>
> >> public String selectTest(){
> >> BEGIN();
> >> SELECT("*");
> >> FROM("test");
> >> return SQL();
> >> }
> >>
> >> 2. The documentation says that @SelectProvider is a method annotation.
> If
> >> I
> >> annotate a method say Foo() using the above @SelectProvider, what should
> >> the
> >> method itself have?
> >>
> >> 3. Lastly, how do I invoke this select query?
> >>
> >> Your help is much appreciated. Sorry, I am just getting started with
> >> iBATIS.
> >> Also, are there any other ways to execute queries which are constructed
> >> on
> >> the fly?
> >>
> >> Thanks in advance for your help.
> >> KA
> >> --
> >> View this message in context:
> >>
> http://old.nabble.com/How-to-use-%40SelectProvider-tp27148804p27148804.html
> >> Sent from the iBATIS - User - Java mailing list archive at Nabble.com.
> >>
> >>
> >> ---------------------------------------------------------------------
> >> To unsubscribe, e-mail: user-java-unsubscribe@ibatis.apache.org
> >> For additional commands, e-mail: user-java-help@ibatis.apache.org
> >>
> >>
> >
> >
>
> --
> View this message in context:
> http://old.nabble.com/How-to-use-%40SelectProvider-tp27148804p27152145.html
> Sent from the iBATIS - User - Java mailing list archive at Nabble.com.
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: user-java-unsubscribe@ibatis.apache.org
> For additional commands, e-mail: user-java-help@ibatis.apache.org
>
>
Re: How to use @SelectProvider
Posted by kruba02 <kr...@ca.com>.
Thanks Clinton
I am still missing one piece i.e. how to invoke this mapper. Do I use
SqlMapClient? An example code will be great.
Thanks a lot!
Clinton Begin wrote:
>
> @SelectProvider should be applied to your Mapper interface. For example:
>
> public interface MyMapper {
> @Select("SELECT * FROM users")
> User selectUsers();
> }
>
> The SelectProvider equivalent of this would be:
>
>
> public interface MyMapper {
>
> @SelectProvider(type=com.me.SomeHelperClass,method="getSelectAllUsersSQL")
>
> User selectUsers();
> }
>
> public clas SomeHelperClass {
> public String getSelectAllUsersSQL() {
> return "SELECT * FROM users";
> }
> }
>
> Cheers,
> Clinton
>
>
>
> On Wed, Jan 13, 2010 at 11:37 AM, kruba02 <kr...@ca.com> wrote:
>
>>
>> Hi,
>>
>> I am trying to execute a dynamic/custom query using iBATIS (using
>> #SelectProvider) and am facing a couple of issues.
>>
>> 1. I have something like @SelectProvider(method = "selectTest", type =
>> "com.a.b.DynamicSQL") where method is the method-name and type is the
>> name
>> of the class. I get an error here. Both the class and method exist.
>> selectTest looks like following. Any idea how I can remove the error?
>>
>> public String selectTest(){
>> BEGIN();
>> SELECT("*");
>> FROM("test");
>> return SQL();
>> }
>>
>> 2. The documentation says that @SelectProvider is a method annotation. If
>> I
>> annotate a method say Foo() using the above @SelectProvider, what should
>> the
>> method itself have?
>>
>> 3. Lastly, how do I invoke this select query?
>>
>> Your help is much appreciated. Sorry, I am just getting started with
>> iBATIS.
>> Also, are there any other ways to execute queries which are constructed
>> on
>> the fly?
>>
>> Thanks in advance for your help.
>> KA
>> --
>> View this message in context:
>> http://old.nabble.com/How-to-use-%40SelectProvider-tp27148804p27148804.html
>> Sent from the iBATIS - User - Java mailing list archive at Nabble.com.
>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: user-java-unsubscribe@ibatis.apache.org
>> For additional commands, e-mail: user-java-help@ibatis.apache.org
>>
>>
>
>
--
View this message in context: http://old.nabble.com/How-to-use-%40SelectProvider-tp27148804p27152145.html
Sent from the iBATIS - User - Java mailing list archive at Nabble.com.
---------------------------------------------------------------------
To unsubscribe, e-mail: user-java-unsubscribe@ibatis.apache.org
For additional commands, e-mail: user-java-help@ibatis.apache.org
Re: How to use @SelectProvider
Posted by Clinton Begin <cl...@gmail.com>.
@SelectProvider should be applied to your Mapper interface. For example:
public interface MyMapper {
@Select("SELECT * FROM users")
User selectUsers();
}
The SelectProvider equivalent of this would be:
public interface MyMapper {
@SelectProvider(type=com.me.SomeHelperClass,method="getSelectAllUsersSQL")
User selectUsers();
}
public clas SomeHelperClass {
public String getSelectAllUsersSQL() {
return "SELECT * FROM users";
}
}
Cheers,
Clinton
On Wed, Jan 13, 2010 at 11:37 AM, kruba02 <kr...@ca.com> wrote:
>
> Hi,
>
> I am trying to execute a dynamic/custom query using iBATIS (using
> #SelectProvider) and am facing a couple of issues.
>
> 1. I have something like @SelectProvider(method = "selectTest", type =
> "com.a.b.DynamicSQL") where method is the method-name and type is the name
> of the class. I get an error here. Both the class and method exist.
> selectTest looks like following. Any idea how I can remove the error?
>
> public String selectTest(){
> BEGIN();
> SELECT("*");
> FROM("test");
> return SQL();
> }
>
> 2. The documentation says that @SelectProvider is a method annotation. If I
> annotate a method say Foo() using the above @SelectProvider, what should
> the
> method itself have?
>
> 3. Lastly, how do I invoke this select query?
>
> Your help is much appreciated. Sorry, I am just getting started with
> iBATIS.
> Also, are there any other ways to execute queries which are constructed on
> the fly?
>
> Thanks in advance for your help.
> KA
> --
> View this message in context:
> http://old.nabble.com/How-to-use-%40SelectProvider-tp27148804p27148804.html
> Sent from the iBATIS - User - Java mailing list archive at Nabble.com.
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: user-java-unsubscribe@ibatis.apache.org
> For additional commands, e-mail: user-java-help@ibatis.apache.org
>
>