详解Mybatis多参数传递入参四种处理方式

时间:2021-05-19

1.利用参数出现的顺序

利用mapper.xml

<select id="MutiParameter" resultType="com.jt.mybatis.entity.User"> select * from user where id = #{param1} and username = #{param2}</select>

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

@Select("select * from user where id = #{arg0} and username = #{arg1}")User MutiParameter(int id,String username);

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

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

利用mapper.xml

<select id="MutiParameter" resultType="com.jt.mybatis.entity.User"> select * from user where id = #{id} and username = #{username}</select>

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

@Select("select * from user where id = #{id} and username = #{username}")User MutiParameter(@Param("id")int id,@Param("username")String username);

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

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

利用mapper.xml

<select id="MutiParameter" resultType="com.jt.mybatis.entity.User"> select * from user where id = #{id} and username = #{username}</select>

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

@Select("select * from user where id = #{id} and username = #{username}")User MutiParameter(Map<String, Object> params);

测试方法

@Test public void testMutiParameter(){ AuthorityMapper mapper = session.getMapper(AuthorityMapper.class); Map<String, Object> params = new HashMap<String, Object>(); params.put("id", 2); params.put("username", "admin"); mapper.MutiParameter(params); }

4.把参数封装在Javabean中

利用mapper.xml

<select id="MutiParameter" resultType="com.jt.mybatis.entity.User"> select * from user where id = #{id} and username = #{username}</select>

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

@Select("select * from user where id = #{id} and username = #{username}")User MutiParameter(User user);

测试方法

@Test public void testMutiParameter(){ AuthorityMapper mapper = session.getMapper(AuthorityMapper.class); User user = new User(); user.setId(2); user.setUsername("admin"); mapper.MutiParameter(user ); }

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

到此这篇关于详解Mybatis多参数传递入参四种处理方式的文章就介绍到这了,更多相关Mybatis多参数传递入参内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章