MyBatis传递多个参数的4种方式

1.map接口传递参数

接口参数为Map,按密钥值映射。[en]The API parameter is Map, which is mapped by key value.

public List<Role> findRolesByMap(Map<String,Object> parameterMap);
<select id="findRolesByMap" parameterType="map" resultType="role">
    select name,email,phone from t_role where username=#{username} and password=#{password}
select>

通过map的键名去匹配值

2.使用注解传递多个参数

public List<Role> findRolesByAnno(@Param("username")String username,@Param("password")String password);
<select id="findRolesByAnno" resultType="role">
    select name,email,phone from t_role where username=#{username} and password=#{password}
select>

使用注解方式无需写parameterType属性,MyBatis会自动匹配

3.通过JavaBean传递

class Bean {
    String password;
    String username;

}
public List<Role> findRolesByBean(Bean bean);
<select id="findRolesByBean" parameterType="Bean全类名" resultType="role">
    select name,email,phone from t_role where username=#{username} and password=#{password}
select>

bean类需要写get和set方法,parameterType需要写全类名

4.混合使用

class Bean {
    String password;
    String username;

}
class Bean2 {
    String sex;
    String phone;

}
public List<Role> findRolesByMix(@Params("bean1")Bean1 bean1,@Params("bean2")Bean2 bean2);
<select id="findRolesByMix"  resultType="role">
    select name,email,phone from t_role where username=#{bean1.usernmae} and password=#{bean1.password} and sex=#{bean2.sex}
select>

这是混合了注解与bean传参的方式,用到了注解传参,也无需写parametersType属性

&#x603B;&#x7ED3;&#xFF1A;
1.&#x4F7F;&#x7528;map&#x4F20;&#x53C2;&#x5BFC;&#x81F4;&#x4E86;&#x4E1A;&#x52A1;&#x53EF;&#x8BFB;&#x6027;&#x7684;&#x4E27;&#x5931;&#xFF0C;&#x56E0;&#x4E3A;&#x5FC5;&#x987B;&#x8981;&#x9605;&#x8BFB;&#x5176;&#x952E;&#x503C;&#x624D;&#x77E5;&#x9053;&#x5176;&#x4F5C;&#x7528;&#xFF0C;&#x6269;&#x5C55;&#x53EF;&#x7EF4;&#x62A4;&#x6027;&#x5DEE;&#xFF0C;&#x6700;&#x597D;&#x4E0D;&#x8981;&#x4F7F;&#x7528;&#x8BE5;&#x65B9;&#x5F0F;&#x3002;
2.&#x4F7F;&#x7528;@Param&#x53C2;&#x6570;&#xFF0C;&#x5728;&#x53C2;&#x6570;<=5个的时候推荐使用,参数较多时建议使用javabean的方式,因为更加直观 3.对于使用混合参数的,要明确参数的合理性 < code></=5个的时候推荐使用,参数较多时建议使用javabean的方式,因为更加直观>

Original: https://blog.csdn.net/weixin_45056780/article/details/110249795
Author: 世代农民
Title: MyBatis传递多个参数的4种方式

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/6103/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

最近整理资源【免费获取】:   👉 程序员最新必读书单  | 👏 互联网各方向面试题下载 | ✌️计算机核心资源汇总