Mybatis的多参数传递问题

申明:以下代码并不是从IDE工具中拷贝,是直接通过TXT编辑,有可能有worry,但不会影响主体,只需稍微纠正。

1、传递参数以Map的形式传递参数

在Service层建立map并传递:
private UserMapping UM;
public User UserMappingselectByIdAndName(int id,String name){
Map userMap=new HashMap();
userMap.put("id",id);
userMap.put("name",name);
return this.UM.selectByIdAndName(userMap);
}

DAO层的方法如下:
User selectByIdAndName(Map userMap); //(User)查询的结果可以是对象,也可以是集合(List<User>)

Mode层对应的mapping的部分内容如下:
<select id="selectByIdAndName" ResultMap="BaseResultMap">
select * from User where id=#{id} and name=#{name}
</select>

2、传递参数以0、1....等方式传递
DAO层的多参数方法如下:
User selectByIdAndName(int id,String name);

Mode层对应的mapping的部分内容如下:
<select id="selectByIdAndName" ResultMap="BaseResultMap">
select * from User where id=#{0} and name=#{1}
</select>

3、传递参数以@param的方式传递
Dao层的多参数方法如下:
User selectByIdAndName(@Param(int id),@Param(String name)); //注意 Param的大小写,引入的包是org.apache.ibatis.annotations.Param;

Mode层对应的mapping的部分内容如下:
<select id="selectByIdAndName" ResultMap="BaseResultMap">
select * from User where id=#{id} and name=#{name}
</select>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值