美文网首页
Mybatis (ParameterType) 如何传递多个不同

Mybatis (ParameterType) 如何传递多个不同

作者: 崔可仁 | 来源:发表于2019-08-02 18:29 被阅读0次

    方法一:不需要写parameterType参数

    public ListgetXXXBeanList(String xxId, String xxCode);

    select t.* from tableName where id = #{0} and name = #{1}

    用#{index}是第几个就用第几个的索引,索引从0开始

    方法二:基于注解

    public ListgetXXXBeanList(@Param("id")Stringid, @Param("code")String code);

    select t.* from tableName where id = #{id} and name = #{code}

    给参数配置@param注解后,Mybatis会自动将参数封装成Map类型,而@param注解的值会成为Map中的key,因此在sql中可以通过配置的注解值来使用参数。

    方法三:Map封装

    public List getXXXBeanList(HashMapmap);

    select 字段... from XXX where id=#{xxId} code = #{xxCode}

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

    方法四:List封装

    public List getXXXBeanList(Listlist);

    select 字段... from XXX where id in#{item}

    总结

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

    相关文章

      网友评论

          本文标题:Mybatis (ParameterType) 如何传递多个不同

          本文链接:https://www.haomeiwen.com/subject/yydrdctx.html