温馨提示×

mybatis怎么传入多个参数

小亿
82
2024-02-04 11:31:51
栏目: 编程语言

MyBatis传递多个参数有以下几种方式:

  1. 使用Map作为参数:可以将多个参数封装到一个Map中,然后将Map作为参数传递给MyBatis的SQL语句。在SQL语句中可以通过key来获取对应的参数值。

例如,定义一个Map并设置多个参数:

Map<String, Object> params = new HashMap<>();
params.put("param1", value1);
params.put("param2", value2);

然后在MyBatis的SQL语句中通过key获取参数值:

<select id="selectByExample" parameterType="java.util.Map" resultMap="BaseResultMap">
    SELECT * FROM your_table WHERE column1 = #{param1} AND column2 = #{param2}
</select>
  1. 使用@Param注解:可以使用@Param注解给每个参数指定一个名称,然后将多个参数按顺序传递给MyBatis的SQL语句。在SQL语句中可以通过指定的名称获取对应的参数值。

例如,定义方法并使用@Param注解指定参数名称:

@Select("SELECT * FROM your_table WHERE column1 = #{param1} AND column2 = #{param2}")
List<YourEntity> selectByParams(@Param("param1") Object param1, @Param("param2") Object param2);
  1. 使用JavaBean作为参数:可以将多个参数封装到一个JavaBean中,然后将JavaBean作为参数传递给MyBatis的SQL语句。在SQL语句中可以通过JavaBean的属性名获取对应的参数值。

例如,定义一个JavaBean并设置多个参数:

public class MyBean {
    private Object param1;
    private Object param2;
    // getter and setter
}

MyBean bean = new MyBean();
bean.setParam1(value1);
bean.setParam2(value2);

然后在MyBatis的SQL语句中通过JavaBean的属性名获取参数值:

<select id="selectByBean" parameterType="your.package.MyBean" resultMap="BaseResultMap">
    SELECT * FROM your_table WHERE column1 = #{param1} AND column2 = #{param2}
</select>

以上是几种常见的传递多个参数的方式,根据实际情况选择合适的方式。

0