MyBatis传多个参数的3种方法

Mybatis传多个参数的方法

一、#{参数索引}

1.        DAO层

Mapper接口类

User logon(String user_name,Stringpassword);

Mapper.xml文件

<select id="logon" resultMap="UserResultMap" >
    select
    <include refid="Base_Column_List"/>
    from sys_user
    WHERE user_name = #{0} and password = #{1}
</select>

这里用的是#{参数索引}

2.        Service层

Service接口类

User logon(String user_name,String password);

Service实现类

@Override
public User logon(String user_name, String password) {
   return userMapper.logon(user_name,password);
}

 

二、Map传参数

1.        DAO层

Mapper接口类

User logon(Map map);

Mapper.xml文件

<select id="logon" resultMap="UserResultMap" >
    select
    <include refid="Base_Column_List"/>
    from sys_user
    where user_name = #{user_name,jdbcType=VARCHAR} and password = #{password,jdbcType=VARCHAR}
</select>

这里接口方法传入的map

2.        Service层

Service接口

User logon(String user_name,String password);

Service实现类

@Override
   public User logon(String user_name, String password) {
      Map paramMap=new HashMap();
      paramMap.put("user_name",user_name);
      paramMap.put("password",password);
      User user=userMapper.logon(paramMap);
      return user;
   }

Service层实现了要将参数与map绑定

三、注解方法传参数

1.        DAO层

Mapper接口类

User logon(@Param("user_name")String user_name,@Param("password")String password);

Mapper.xml文件

<select id="logon" resultMap="UserResultMap" >
    select
    <include refid="Base_Column_List"/>
    from sys_user
    where user_name = #{user_name,jdbcType=VARCHAR} and password = #{password,jdbcType=VARCHAR}
    </select>

这里主要注意接口传入参数前面加了@Param注解

2.        Service层

Service接口

User logon(String user_name,String password);

Service实现类

@Override
   public User logon(String user_name, String password) {
      return userMapper.logon(user_name,password);
   }

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值