<返回更多

框架Mybatis传递参数

2019-09-26    
加入收藏
框架Mybatis传递参数

 

 

下面给大家总结了以下几种多参数传递的方法。

方法1:顺序传参法

public
 
User
 selectUser
(
String
 name
,
 
int
 deptId
);
<
select
 id
=
"selectUser"
 resultMap
=
"UserResultMap"
>
 
select
 
*
 
from
 user
 
where
 user_name 
=
 
#{0} and dept_id = #{1}
</
select
>

#{}里面的数字代表你传入参数的顺序。

这种方法不建议使用,sql层表达不直观,且一旦顺序调整容易出错。

方法2:@Param注解传参法

public
 
User
 selectUser
(
@Param
(
"userName"
)
 
String
 name
,
 
int
 
@Param
(
"deptId"
)
 deptId
);
<
select
 id
=
"selectUser"
 resultMap
=
"UserResultMap"
>
 
select
 
*
 
from
 user
 
where
 user_name 
=
 
#{userName} and dept_id = #{deptId}
</
select
>

#{}里面的名称对应的是注解 @Param括号里面修饰的名称。

这种方法在参数不多的情况还是比较直观的,推荐使用。

方法3:Map传参法

public
 
User
 selectUser
(
Map
<
String
,
 
Object
>
 
params
);
<
select
 id
=
"selectUser"
 parameterType
=
"JAVA.util.Map"
 resultMap
=
"UserResultMap"
>
 
select
 
*
 
from
 user
 
where
 user_name 
=
 
#{userName} and dept_id = #{deptId}
</
select
>

#{}里面的名称对应的是 Map里面的key名称。

这种方法适合传递多个参数,且参数易变能灵活传递的情况。

方法4:Java Bean传参法

public
 
User
 selectUser
(
Map
<
String
,
 
Object
>
 
params
);
<
select
 id
=
"selectUser"
 parameterType
=
"com.test.User"
 resultMap
=
"UserResultMap"
>
 
select
 
*
 
from
 user
 
where
 user_name 
=
 
#{userName} and dept_id = #{deptId}
</
select
>

#{}里面的名称对应的是 User类里面的成员属性。

声明:本站部分内容来自互联网,如有版权侵犯或其他问题请与我们联系,我们将立即删除或处理。
▍相关推荐
更多资讯 >>>