MyBatis传入多个参数的问题以及出现“无效的列类型: 1111 错误”问题的

一、传入多个参数的问题
一、单个参数:
public List getXXBeanList(String xxCode);
其中方法名和ID一致 , #{}中的参数名与方法中的参数名一直 ,  我这里采用的是是采用的短名字,
后的字段列表要和bean中的属性名一致 ,  如果不一致的可以用 as 来补充 。
复制代码
二、多参数:
public List getXXXBeanList(String xxId, String xxCode);
由于是多参数那么就不能使用 ,  改用#{index}是第几个就用第几个的索引 , 索引从0开始
复制代码
三、Map封装多参数:
public List getXXXBeanList(HashMap map);
其中是自己配置好的直接使用就行 。map中key的名字是那个就在#{}使用那个 , map如何封装就不用了我说了吧 。
复制代码
四、List封装in:
public List getXXXBeanList(List> list);
最后的效果是 字段… from XXX where id in (‘1’,‘2’,‘3’,‘4’)
复制代码
五、多参数传递之注解方式示:
例子:
public AddrInfo getAddrInfo(@Param("corpId")int corpId, @Param("addrId")int addrId);
xml配置这样写:

【MyBatis传入多个参数的问题以及出现“无效的列类型: 1111 错误”问题的】以前在语句中要带的 , 现在可以不要这样写 。
复制代码
六、()只能传递一个参数 , 但实际所需参数既要包含类型 , 又要包含List类型时的处理方法:
将参数放入Map , 再取出Map中的List遍历 。如下:
List> list_3 = new ArrayList>();Map, Object> map2 = new HashMap, Object>();list.add("1");list.add("2");map2.put("list", list); //网址idmap2.put("siteTag", "0");//网址类型
public List> getSysInfo(Map, Object> map2) {return getSqlSession().selectList("sysweb.getSysInfo", map2);}

二、一对多传递多个参数和自定义参数(实例)
问题:
假设a方法中传入一个带查询参数x , 而子查询里也要这个参数
如何在子查询b中带入这个参数
一般一对多查询方式: