码迷,mamicode.com
首页 > 移动开发 > 详细

在 mapper 中如何传递多个参数?

时间:2020-07-20 10:43:32      阅读:114      评论:0      收藏:0      [点我收藏+]

标签:HERE   注解   str   select   hash   sele   name   ash   rac   

1、第一种:

DAO 层的函数

public UserselectUser(String name,String area);

对应的 xml,#{0}代表接收的是 dao 层中的第一个参数,#{1}代表 dao 层中第二

参数,更多参数一致往后加即可。

<select id="selectUser"resultMap="BaseResultMap">

select * fromuser_user_t

whereuser_name = #{0}

anduser_area=#{1}

</select>

2、第二种: 使用 @param 注解:

public interface usermapper {

user selectuser(@param(“username”) string

username,@param(“hashedpassword”) string hashedpassword);

}

然后,就可以在 xml 像下面这样使用(推荐封装为一个 map,作为单个参数传递给

mapper):

<select id=”selectuser” resulttype=”user”>

select id, username, hashedpassword

from some_table

where username = #{username}

and hashedpassword = #{hashedpassword}

</select>

3、第三种:多个参数封装成 maptry {

//映射文件的命名空间.SQL 片段的 ID,就可以调用对应的映射文件中的

SQL

//由于我们的参数超过了两个,而方法中只有一个 Object 参数收集,因此

我们使用 Map 集合来装载我们的参数

Map < String, Object > map = new HashMap();

map.put("start", start);

map.put("end", end);

return sqlSession.selectList("StudentID.pagination", map);

} catch (Exception e) {

e.printStackTrace();

sqlSession.rollback();

throw e;

} finally {

MybatisUtil.closeSqlSession();

}

在 mapper 中如何传递多个参数?

标签:HERE   注解   str   select   hash   sele   name   ash   rac   

原文地址:https://www.cnblogs.com/programb/p/12687017.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!