Mybatis (ParameterType) 如何传递多个不同类型的参数

偶然碰到一个需要给xml传一个String类型和一个Integer类型的需求,当时心想用map感觉有点太浪费,所以专门研究了下各种方式。

方法一:不需要写parameterType参数

 

public List getXXXBeanList(String xxId, String xxCode);  

 

  

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

方法二:基于注解(最简单)

 

public List getXXXBeanList(@Param("id")String id, @Param("code")String code);  

 

  

由于是多参数那么就不能使用parameterType, 这里用@Param来指定哪一个

方法三:Map封装

 

public List getXXXBeanList(HashMap map);  

 

  

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

方法四:List封装

 

public List getXXXBeanList(List list);  

 

 

总结

传递list和map在资源消耗上肯定远大于方法一和方法二,但是有一些特殊的情形需要传递list,比如你需要传递一个id集合并批量对id进行sql操作然后再返回等等。所以都需要了解。



作者:FantJ
链接:https://www.jianshu.com/p/d977eaadd1ed
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

你可能感兴趣的:(Java框架,框架)