zoukankan      html  css  js  c++  java
  • MyBatis方法多参数的处理及问题

    Mybatis的接口方法多参数传递的四种处理方式

    1.使用接口方法参数的索引传递

      使用java方法的默认规范,参数是有索引的,我们需要在SQL中指定参数的索引位置

        接口中的方法:

        

        mapper.xml中的SQL:

        

        这里需要注意:不同的版本索引传值的写法可能不同 低版本可以使用这种直接使用参数索引的方式

        高一点的版本得写成:id = #{arg0} and name = #{arg1}

        我在其它博客中看到有的版本还支持直接参数传值的方式.(版本问题没有太深研究) 

        

         当出现图中问题时 可能就是这个问题导致

    2.使用@Param注解

      使用Mybatis的注解功能,在定义接口方法的时候声明SQL中使用参数名

        接口中的方法:

        

        mapper.xml中的SQL:

         

    3.传递对象

      可以直接传递一个对象,在SQL中直接使用对象的属性值,来进行多参数的传递

        接口中的方法:

        

         mapper.xml中的SQL:

        

    4.传递map集合

      使用map集合的方式传入多个参数值,在SQL中我们使用map中的key来映射值

        测试:

        

        接口中的方法:

        

         mapper.xml中的SQL:

        parameterType(参数类型):是非必须的 可写可不写

    总结:一般最好使用注解或者使用对象进行多参数的处理

  • 相关阅读:
    LintCode-Search for a Range
    LintCode-Serialization and Deserialization Of Binary Tree
    LeetCode-Reverse Words in a String
    LeetCode-Reorder List
    LeetCode-Word Break
    LeetCode-Word Ladder
    LeetCode-Valid Palindrome
    cf div2 237 D
    POJ 1759
    cf div2 238 D
  • 原文地址:https://www.cnblogs.com/lzpsir/p/11985751.html
Copyright © 2011-2022 走看看