阅读量:0
在MyBatis中,有多种方法可以传递多个参数:
- 使用Map或者@Param注解:可以将多个参数放入一个Map中,或者使用@Param注解为每个参数起一个名称,然后在SQL语句中通过名称引用参数。
例如,使用Map传递多个参数:
Map<String, Object> params = new HashMap<>(); params.put("param1", value1); params.put("param2", value2); List<ResultType> result = sqlSession.selectList("namespace.statement", params);
或者使用@Param注解传递多个参数:
List<ResultType> result = sqlSession.selectList("namespace.statement", @Param("param1") value1, @Param("param2") value2);
在SQL语句中,可以使用${param1}
和${param2}
来引用参数。
- 使用POJO对象:可以将多个参数封装成一个POJO对象,在SQL语句中直接引用POJO的属性。
例如,定义一个POJO对象:
public class MyParams { private String param1; private String param2; // getters and setters }
然后在SQL语句中引用POJO的属性:
<select id="statement" parameterType="com.example.MyParams" resultType="com.example.ResultType"> SELECT * FROM table WHERE column1 = #{param1} AND column2 = #{param2} </select>
在调用时,将多个参数封装成POJO对象传递:
MyParams params = new MyParams(); params.setParam1(value1); params.setParam2(value2); List<ResultType> result = sqlSession.selectList("namespace.statement", params);
这些方法都可以实现多个参数的传递,根据实际场景选择适合的方法即可。