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>

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

    第一种占位符不够直观!

  • 相关阅读:
    分析 ajax 请求并抓取 “今日头条的街拍图”
    requests + 正则表达式 获取 ‘猫眼电影top100’。
    爬虫基础(暂缓更新)
    Git 操作笔记:分布式版本控制系统
    python补充
    python基础
    8.最佳电影聚类分析
    文本分析 笔记
    7.文档聚类
    5.词项相似度分析
  • 原文地址:https://www.cnblogs.com/winner-0715/p/8444898.html
Copyright © 2011-2022 走看看