zoukankan      html  css  js  c++  java
  • spring中@param和mybatis中@param使用区别

    1. spring中@param
        /**
          * 查询指定用户和企业关联有没有配置角色
          * @param businessId  memberId
          * @return
          */
         int selectRoleCount(@Param("businessId") Integer businessId,@Param("memberId") Long memberId); 
    1. mybatis中的param
        /**
          * 查询指定用户和企业关联有没有配置角色
          * @param businessId memberId
          * @return
          */
         int selectRoleCount(@Param("businessId") Integer businessId,@Param("memberId") Long memberId); 

    从表面上看,两种并没有区别,但是在xml文件中使用的时候是有区别的,Spring中的@param在xml需要如下这样引用变量

    <select id="selectRoleCount" resultType="java.lang.Integer" >
    select 
        count(tbm.id)
        from t_business_member_relation tbm
        where tbm.business_id = #{0,jdbcType=INTEGER}
        and tbm.member_id = #{1,jdbcType=INTEGER}
        and tbm.role_business_id is not null
    </select>

    是根据参数的顺序来取值的,并且从0开始。而在mybatis @param在xml中则是如下这样引用变量的

    <select id="selectRoleCount" resultType="java.lang.Integer" >
        select 
        count(tbm.id)
        from t_business_member_relation tbm
        where tbm.business_id = #{businessId,jdbcType=INTEGER}
        and tbm.member_id = #{memberId,jdbcType=INTEGER}
        and tbm.role_business_id is not null
     </select>

    是通过参数名来引用的 
    注:如果Mapper.java文件中引用的是Spring的

    org.springframework.data.repository.query.Param;

    但是Mapper.xml中使用的是mybatis 的用法,那么就会如下的错误

    org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.binding.BindingException: Parameter 'businessId' not found. Available parameters are [1, 0, param1, param2]

    截图如下 
    这里写图片描述 
    所以在使用的时候一定要注意@param引用和使用的一致性

    最好的方法就是在使用注意引用的是哪个包里面的。

    比如 引用的是Mybatis的时候

    import org.apache.ibatis.annotations.Param;

    本文转载自http://blog.csdn.net/gao36951/article/details/44258217

  • 相关阅读:
    UVa 12174 (滑动窗口) Shuffle
    UVa 1607 (二分) Gates
    CodeForces ZeptoLab Code Rush 2015
    HDU 1525 (博弈) Euclid's Game
    HDU 2147 (博弈) kiki's game
    UVa 11093 Just Finish it up
    UVa 10954 (Huffman 优先队列) Add All
    CodeForces Round #298 Div.2
    UVa 12627 (递归 计数 找规律) Erratic Expansion
    UVa 714 (二分) Copying Books
  • 原文地址:https://www.cnblogs.com/sunxun/p/5530917.html
Copyright © 2011-2022 走看看