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>

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

    第一种占位符不够直观!

  • 相关阅读:
    hdu 4612 Warm up 桥缩点
    树上的一个题目
    2013 ACM/ICPC Asia Regional Online —— Warmup2
    hdu 3308 LCIS 线段树
    最近计划
    hdu 2121 , hdu 4009 无定根最小树形图
    POJ 3164 Command Network 最小树形图模板
    过滤器和拦截器
    struts中的请求数据自动封装
    struts中获取域
  • 原文地址:https://www.cnblogs.com/winner-0715/p/8444898.html
Copyright © 2011-2022 走看看