MyBatis传入多个参数的问题

一、单个参数:

复制代码

public List getXXBeanList(String xxCode);  

  

其中方法名和ID一致,#{}中的参数名与方法中的参数名一直, 我这里采用的是XXXBean是采用的短名字,

select 后的字段列表要和bean中的属性名一致, 如果不一致的可以用 as 来补充。

复制代码

 

二、多参数:

复制代码

public List getXXXBeanList(String xxId, String xxCode);  

  

由于是多参数那么就不能使用parameterType, 改用#{index}是第几个就用第几个的索引,索引从0开始

复制代码

 

三、Map封装多参数:  

复制代码

public List getXXXBeanList(HashMap map);  

  

其中hashmap是mybatis自己配置好的直接使用就行。map中key的名字是那个就在#{}使用那个,map如何封装就不用了我说了吧。 

复制代码

 

 四、List封装in:

复制代码

public List getXXXBeanList(List list);  

  

foreach 最后的效果是select 字段... from XXX where id in ('1','2','3','4') 

复制代码

 

五、多参数传递之注解方式示:    

 

复制代码

例子:
 
public AddrInfo getAddrInfo(@Param("corpId")int corpId, @Param("addrId")int addrId);
 
xml配置这样写:
 

 
以前在
  select t.sysSiteId, t.siteName, t1.mzNum as siteTagNum, t1.mzName as siteTag, t.url, t.iconPath
   from TD_WEB_SYSSITE t
   left join TD_MZ_MZDY t1 on t1.mzNum = t.siteTag and t1.mzType = 10
   WHERE t.siteTag = #{siteTag } 
   and t.sysSiteId not in 
   
       #{item}
   
 

你可能感兴趣的:(MyBatis传入多个参数的问题)