我使用了“在参数上使用@Param(“paramName”)注解”解决了传多个参数的问题。
在做数据库操作的时候,经常要传多参数进sql语句,以前版本的ibatis,不支持直接传多个参数进来,只能压入对象或者HashMap中,这样实在不是很方便。
在现在的版本,终于有了支持。
官方文档:
你可以传递多个参数给一个映射器方法。如果你这样做了,默认情况下它们将会以它们
在参数列表中的位置来命名,比如:#{1},#{2}等。如果你想改变参数的名称(只在多参数
情况下),那么你可以在参数上使用@Param(“paramName”)注解。
例子:
public AddrInfo getAddrInfo(@Param("corpId")int corpId,@Param("addrId")int addrId);
xml配置这样写:
<select id="getAddrInfo" resultMap="com.xxx.xxx.AddrInfo">
SELECT * FROM addr__info where addr_id=#{addrId} and corp_id=#{corpId}
</select>
以前在<select>语句中要带parameterType的,现在不要这样写