I tested it and it doesn't works for me. This works great now:
@Select({"SELECT * FROM send LIMIT #{offset}, #{limit}"}) List<Send> getAllItems(@Param("offset") int offset, @Param("limit") int limit); but this not: <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE mapper PUBLIC "-//ibatis.apache.org//DTD Mapper 3.0//EN" "http://ibatis.apache.org/dtd/ibatis-3-mapper.dtd"> <mapper namespace="cz.apache.ibatis.SendMapper"> <select id="getAllItemsX" parameterType="map" resultType="cz.apache.ibatis.Send" > select * from send LIMIT #{offset}, #{limit} </select> </mapper> I got: Exception in thread "main" org.apache.ibatis.exceptions.IbatisException: ### Error querying database. Cause: org.apache.ibatis.type.TypeException: JDBC requires that the JdbcType must be specified for all nullable parameters. ### The error may exist in SendMapper.xml ### The error may involve cz.apache.ibatis.SendMapper.getAllItemsX-Inline ### The error occurred while setting parameters ### SQL: select * from send LIMIT ?, ? ### Cause: org.apache.ibatis.type.TypeException: JDBC requires that the JdbcType must be specified for all nullable parameters. at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:8) How Can I specify parametr types? ______________________________________________________________ > Od: "Clinton Begin" <clinton.be...@gmail.com> > Komu: user-java@ibatis.apache.org > Datum: 06.10.2009 09:33 > Předmět: Re: two parametr in Mapper method > >multiple parameters will require the XML equivalent parameter type to be >Map. Behind the scenes, it will do exactly what you do today -- wrap >multiple params in a Map. This keeps it simple and consistent. >Clinton > >On Mon, Oct 5, 2009 at 12:23 AM, Guy Rouillier <guyr-...@burntmail.com>wrote: > >> I'm glad to see you are considering allowing multiple parameters. I've >> found having to bind everything into one is cumbersome. >> >> What are you thinking of doing for XML? I'd suggest replacing >> ParameterType with ParameterList, with the latter a cut and paste from the >> mapper method. Your example below would look like: >> >> parameterList="int offset, int limit" >> >> From a programmer's perspective, I'd find the cut and paste easy, and >> iBatis would have everything it needs to enable named parameters in the SQL. >> >> Clinton Begin wrote: >> >>> There's no way to introspect on the parameter names. >>> So your choices become: >>> >>> @Select({"SELECT * FROM send LIMIT #{1}, #{2}"}) >>> List getAllItems(int offset, int limit); >>> >>> ...Or... >>> >>> @Select({"SELECT * FROM send LIMIT #{offset}, #{limit}"}) >>> List getAllItems(@Param("offset") int offset, @Param("limit") int limit); >>> >>> Both suck. But we'll probably default to the first, and allow for the >>> second. >>> Gross. >>> >>> Clinton >>> >>> On Sun, Oct 4, 2009 at 8:00 PM, Guy Rouillier >>> <guyr-...@burntmail.com<mailto: >>> guyr-...@burntmail.com>> wrote: >>> >>> I'd be curious to understand what the Java limitation is. I would >>> have thought that with Java 1.5's support of varargs, limitations >>> such as this would no longer exists. Of course, to use varargs >>> here, I suppose we'd have to use Object[], which would shoot your >>> type safety. >>> >>> Clinton Begin wrote: >>> >>> It's a limitation in Java. However, we are working on a couple >>> of potential options. But it's not possible to do it the way >>> you've written it (which is really sad, because it's perfectly >>> possible in C# and other languages). >>> >>> Clinton >>> >>> 2009/10/4 Tomáš Procházka <t.procha...@centrum.cz >>> <mailto:t.procha...@centrum.cz> <mailto:t.procha...@centrum.cz >>> <mailto:t.procha...@centrum.cz>>> >>> >>> >>> >>> Why not supported this? >>> >>> @Select({"SELECT * FROM send LIMIT #{offset}, #{limit}"}) >>> List getAllItems(int offset, int limit); >>> >>> >>> Its limitation of Java or bug in actual version? >>> >>> >>> --------------------------------------------------------------------- >>> To unsubscribe, e-mail: >>> user-java-unsubscr...@ibatis.apacheorg >>> <mailto:user-java-unsubscr...@ibatis.apache.org> >>> <mailto:user-java-unsubscr...@ibatis.apache.org >>> <mailto:user-java-unsubscr...@ibatis.apache.org>> >>> >>> For additional commands, e-mail: >>> user-java-h...@ibatis.apache.org >>> <mailto:user-java-h...@ibatis.apache.org> >>> <mailto:user-java-h...@ibatis.apache.org >>> <mailto:user-java-h...@ibatis.apache.org>> >>> >>> >>> >>> >>> -- Guy Rouillier >>> >>> >>> --------------------------------------------------------------------- >>> To unsubscribe, e-mail: user-java-unsubscr...@ibatis.apache.org >>> <mailto:user-java-unsubscr...@ibatis.apache.org> >>> For additional commands, e-mail: user-java-h...@ibatis.apache.org >>> <mailto:user-java-h...@ibatis.apache.org> >>> >>> >>> >> >> -- >> Guy Rouillier >> >> --------------------------------------------------------------------- >> To unsubscribe, e-mail: user-java-unsubscr...@ibatis.apache.org >> For additional commands, e-mail: user-java-h...@ibatis.apache.org >> >> > > --------------------------------------------------------------------- To unsubscribe, e-mail: user-java-unsubscr...@ibatis.apache.org For additional commands, e-mail: user-java-h...@ibatis.apache.org