zoukankan      html  css  js  c++  java
  • @Param注解在mybatis中的使用以及传入参数的几种方式(转)

    第一种:

    Dao层的方法

    <span style="font-size:12px;">Public User selectUser(String name,String password);</span>  

    对应的Mapper.xm

      

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


    第二种:

    该方法采用Map传多参数

    Dao层的方法

    <span style="font-size:12px;">Public User selectUser(Map paramMap);</span>  

    对应的Mapper.xml

     <select id=" selectUser" resultMap="BaseResultMap">  
      select * from user_user_t 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);} 
     

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

    第三种:

    Dao层的方法

    Public User selectUser(@param(“userName”)Stringname,@param(“userpassword”)String password);

    对应的Mapper.xml

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

    </select>

    第四种:

    mapper.java:

    public List<User> getUserByParam(User use);

    对应Mapper.xml:

    <select id="getUserByParam" resultType="com.ray.bean.User" parameterType="com.ray.bean.User" > 
        select * from t_pub_user t 
         <where>
            <if test="{user_name}!=null">
                 t.user_name like CONCAT('%',#{user_name},'%')
            </if>
            <if test="{user_password}!=null">
                and t.user_password like CONCAT('%',#{user_password},'%')
            </if>
        </where>
         limit #{1},#{2} 
    </select>
  • 相关阅读:
    Mysql删除数据库中所有表
    MySQL出现2059错误
    .NetCore笔记
    PLSql中文乱码
    Oracle误删除数据恢复。Oracle删除后恢复数据
    ora-28000:the account is locked,Oracle修改密码有效期,Oracle设置密码不过期
    Linux 常用命令
    Razor
    ORA-01578: ORACLE 数据块损坏 (文件号 13, 块号 2415081) ORA-01110: 数据文件XXXXXX
    ORA-01033:ORACLE initialization or shutdown
  • 原文地址:https://www.cnblogs.com/aigeileshei/p/6100123.html
Copyright © 2011-2022 走看看