mybatis_获取参数值的各种情况

mybatis获取参数值的两种方式

#{}:占位符
${}:字符串拼接

情况一

mapper接口方法的参数为单个的字面量类型
两种都行
例如通过名字查询用户

select * from t_user whhere username=${username}
select * from t_user whhere username='#{username}'

情况二mapper接口的参数有多个的时候

select * from t_user whhere username=#{username} and password=#{password}

报错:‘username’ not found
mybatis 会把参数放到map集合中,然后arg0 arg1 为键,以参数为值。或者以param1,param2为键,参数为值。也可以混着用。应该改为arg0,arg1…

select * from t_user whhere username=${username} and password=${password}

需手动加上单引号

情况三若mapper接口方法的参数有多个的时候,可以手动将这些参数放在一个map中存储

参数为一个集合map
接口:User CheckLoginByMap(Map<String,Object>,map)
xml文件:

<select  id = "CheckLoginByMap" resultType="User">
		select * from t_user whhere username=#{username} and password=#{password}
		</select>

在测试类上:
map.put(“username”,"admin)
map.put(“password”,“12345”)

情况四mapper参数为实体类类型的参数[最常用的方式]

跟map形式一样

int  insertUser(User user)
<insert  id = "insertUser">
insert into t_user values(null,#{username},#{password},#{age},#{sex},#{email})
</insert>

使用@param注解命名参数

验证登录

User CheckLoginByParam(@param("username") String username,@param("password") String password)
<select  id = "CheckLoginByMap" resultType="User">
		select * from t_user whhere username=#{username} and password=#{password}
		</select>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值