您的位置:首页 > 其它

Mybatis的多参数传递问题

2016-04-11 09:51 337 查看
申明:以下代码并不是从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>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: