zoukankan      html  css  js  c++  java
  • Mybatis传递多个参数

    方案一:

    DAO层的函数方法

    User selectUser(String name,String area);

    对应的Mapper.xml

    <selectid="selectUser"resultMap="BaseResultMap">
        select  *  from user_user_t   
        where user_name = #{0} and user_area=#{1}
    </select>

    其中,#{0}代表接收的是dao层中的第一个参数,#{1}代表dao层中第二参数,更多参数一致往后加即可。

    方案二:

    此方法采用Map传多参数. Dao层的函数方法

    User selectUser(Map paramMap);

    对应的Mapper.xml

    <selectid=" selectUser"resultMap="BaseResultMap">
       select  *  fromuser_user_t 
       where user_name = #{userName,jdbcType=VARCHAR} 
            and user_area=#{userArea,jdbcType=VARCHAR}
    </select>

    Service层调用

    Private UserxxxSelectUser(){
        Map paramMap=new hashMap();
        paramMap.put(“userName”,”对应具体的参数值”);
        paramMap.put(“userArea”,”对应具体的参数值”);
        Useruser=xxx. selectUser(paramMap);
    }

    个人认为此方法不够直观,见到接口方法不能直接的知道要传的参数是什么。

    方案三:(推荐)

    Dao层的函数方法

    User selectUser(@param(“userName”)Stringname,@param(“userArea”)String area);

    对应的Mapper.xml

    <selectid=" selectUser"resultMap="BaseResultMap">
       select  *  from user_user_t 
       where user_name = #{userName,jdbcType=VARCHAR} 
            and user_area=#{userArea,jdbcType=VARCHAR}
    </select>
  • 相关阅读:
    BottomNavigationView3个项以上不显示文字的问题
    ViewPager中height=wrap_content无效,ScrollView里边用ListView显示不全解决办法
    Gson解析
    Parcelable Android SDK提供,基于内存,读写高于硬盘
    Serializable序列化 && 坑
    OpenStack中添加Floating IP
    Hadoop
    Redis
    ELK
    OpenStack
  • 原文地址:https://www.cnblogs.com/wslook/p/9185506.html
Copyright © 2011-2022 走看看