这篇文章主要介绍了MyBatis如何传入多参数,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。

1.利用参数出现的顺序

利用mapper.xml

<selectid="MutiParameter"resultType="com.jt.mybatis.entity.User">select*fromuserwhereid=#{param1}andusername=#{param2}</select>

利用mybatis注解方式(sql语句比较简单时推荐此方式)

@Select("select*fromuserwhereid=#{arg0}andusername=#{arg1}")UserMutiParameter(intid,Stringusername);

参数出现顺序可以用arg0…到argn也可以用param1到param n设置表示第一个参数到第n个参数的位置
例子中arg0和param1表示第一个参数id,arg1和param2表示第二个参数

2.使用注解需要使用到mybatis @Param注解

利用mapper.xml

<selectid="MutiParameter"resultType="com.jt.mybatis.entity.User">select*fromuserwhereid=#{id}andusername=#{username}</select>

利用mybatis注解方式(sql语句比较简单时推荐此方式)

@Select("select*fromuserwhereid=#{id}andusername=#{username}")UserMutiParameter(@Param("id")intid,@Param("username")Stringusername);

@Param注解放在接口方法的前面@Param(“内容”)里面的内容和我们sql语句里面#{内容}里面的内容需要一致才能查找到

3.使用map 需要map的键和#{内容}里面的内容一致

利用mapper.xml

<selectid="MutiParameter"resultType="com.jt.mybatis.entity.User">select*fromuserwhereid=#{id}andusername=#{username}</select>

利用mybatis注解方式(sql语句比较简单时推荐此方式)

@Select("select*fromuserwhereid=#{id}andusername=#{username}")UserMutiParameter(Map<String,Object>params);

测试方法

@TestpublicvoidtestMutiParameter(){AuthorityMappermapper=session.getMapper(AuthorityMapper.class);Map<String,Object>params=newHashMap<String,Object>();params.put("id",2);params.put("username","admin");mapper.MutiParameter(params);}4.把参数封装在Javabean中

利用mapper.xml

<selectid="MutiParameter"resultType="com.jt.mybatis.entity.User">select*fromuserwhereid=#{id}andusername=#{username}</select>

利用mybatis注解方式(sql语句比较简单时推荐此方式)

@Select("select*fromuserwhereid=#{id}andusername=#{username}")UserMutiParameter(Useruser);

测试方法

@TestpublicvoidtestMutiParameter(){AuthorityMappermapper=session.getMapper(AuthorityMapper.class);Useruser=newUser();user.setId(2);user.setUsername("admin");mapper.MutiParameter(user);}

需要User的字段跟查询的#{内容}里面的内容一致

感谢你能够认真阅读完这篇文章,希望小编分享的“MyBatis如何传入多参数”这篇文章对大家有帮助,同时也希望大家多多支持亿速云,关注亿速云行业资讯频道,更多相关知识等着你来学习!