Mybatis中当参数不止一个时的2种传参方式

在使用Mybatis时,如果入参不止一个,有以下2种方式进行传参(仅本人了解到的)

示例:根据用户名密码查询用户

第一种:这种方式导入的是mybatis的Param包,不是Spring的。

import org.apache.ibatis.annotations.Param;

DAO:

/**
 * @description: 根据用户名密码查询用户
 * @param: username,password
 * @return: UserPO
 */
UserPO getUser(@Param("username")String username, @Param("password")String password);

对应的Mapper.xml

<select id="getUser" resultType="com.dy.demo.model.po.UserPO">
        select
            username,
            password
        from user
        where username=#{username,jdbcType=VARCHAR}
        and password=#{password,jdbcType=VARCHAR}
</select>

注意:@Param括号中的内容对应#{}中的内容

 

第二种:相对麻烦,且不够直观(不推荐使用)

 

将参数封装成Map,将map当作入参。

Service层

Map<String, String> map = new HashMap<>();
map.put("username", username);
map.put("password", password);
UserPO user = userPOMapper.getUser(map);

DAO:

UserPO getUser(Map map);

对应的Mapper.xml

<select id="getUser" resultType="com.dy.demo.model.po.UserPO">
        select
            username,
            password
        from user
        where username=#{username,jdbcType=VARCHAR}
        and password=#{password,jdbcType=VARCHAR}
</select>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值