Mybatis 接口传入多个参数 xml怎么接收

时间:2021-10-12 21:31:08

mybatis 在接口上传入多个参数

1.如果传入的参数类型一样。

Map<String, String> queryDkpayBindBankCidByOriBindAndBankCid(String bindId, String bankCid);

获取时候可以使用(按照参数在接口方法中的顺序)

 WHERE BINDID = #{0} AND BANKCID = #{1}

2.如果传入参数类型不一样。

可以使用 @Param注解

@Param注解 由于java编译后的代码会丢失形参,需要使用该注解来告诉mybatis来指代被替换掉的参数

public List<AgentFeeRateVO> selectByExampleAndUpagentId(@Param("upAgentId")String upAgentId,
@Param("mername")String mername,@Param("example")AgentFeeRateExample example);

而在xml中 只需,(可以省略parameterType="map")

<select id="selectByExampleHasMername" parameterType="map" resultMap="BaseVOResultMap">
  ...
</select>

  

如果是单个元素即可:

<where>
  <if test="upAgentId != null">
    UP_AGENTNO = #{upAgentId,jdbcType=VARCHAR}
  </if>
</where>

如果是对象:

example.oredCriteria

的方式获取元素的值。非常方便