阅读量:0
MyBatis传递多个参数有以下几种方式:
- 使用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>
- 使用@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);
- 使用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>
以上是几种常见的传递多个参数的方式,根据实际情况选择合适的方式。