zoukankan      html  css  js  c++  java
  • @Param注解在Mybatis中的使用 以及传递参数的三种方式

    第一种:

    Dao层的方法

    public User selectUser(String name,String password);

    对应的Mapper.xml

    <select id="selectUser" resultMap="BaseResultMap">  
        select * from t_user where user_name = #{0} and user_password=#{1}  
    </select>  

    第二种:

    该方法采用Map传多参数

    Dao层的方法

    public User selectUser(Map paramMap);

    对应的Mapper.xml

    <select id="selectUser" resultMap="BaseResultMap">  
       select * from t_user where user_name = #{userName,jdbcType=VARCHAR} and user_password=#{userPassword,jdbcType=VARCHAR}  
    </select>

    Service层调用

    public User xxxSelectUser(){  
        Map paramMap=new hashMap();  
        paramMap.put("userName","对应具体的参数值");  
        paramMap.put("userPassword","对应具体的参数值");  
        User user=xxx.selectUser(paramMap);
    }

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

    第三种:@Param注解

    Dao层的方法

    public User selectUser(@Param("name")String name, @Param("password")String password);

    对应的Mapper.xml

    <select id=" selectUser" resultMap="BaseResultMap">  
       select * from t_user where user_name = #{name,jdbcType=VARCHAR} and user_password=#{password,jdbcType=VARCHAR}  
    </select>

    个人觉得三种之中这种可读性最好,建议双引号中的值和变量名保持一致

    第一种占位符不够直观!

  • 相关阅读:
    没吃过猪肉,却想见识下猪跑
    程序员修电脑
    csdn 新排名系统参考的部分指标
    如何快速适应新工作
    前端学习指北
    公号文章整理
    BUI 视频,音频在线播放
    原生图片上传,图片格式和图片大小处理
    获取路由拼接参数
    Axure RP9调用后端接口操作步骤
  • 原文地址:https://www.cnblogs.com/winner-0715/p/8444898.html
Copyright © 2011-2022 走看看