在MyBatis中,有多種方法可以傳遞多個(gè)參數(shù):
例如,使用Map傳遞多個(gè)參數(shù):
Map<String, Object> params = new HashMap<>();
params.put("param1", value1);
params.put("param2", value2);
List<ResultType> result = sqlSession.selectList("namespace.statement", params);
或者使用@Param注解傳遞多個(gè)參數(shù):
List<ResultType> result = sqlSession.selectList("namespace.statement", @Param("param1") value1, @Param("param2") value2);
在SQL語(yǔ)句中,可以使用${param1}
和${param2}
來(lái)引用參數(shù)。
例如,定義一個(gè)POJO對(duì)象:
public class MyParams {
private String param1;
private String param2;
// getters and setters
}
然后在SQL語(yǔ)句中引用POJO的屬性:
<select id="statement" parameterType="com.example.MyParams" resultType="com.example.ResultType">
SELECT * FROM table WHERE column1 = #{param1} AND column2 = #{param2}
</select>
在調(diào)用時(shí),將多個(gè)參數(shù)封裝成POJO對(duì)象傳遞:
MyParams params = new MyParams();
params.setParam1(value1);
params.setParam2(value2);
List<ResultType> result = sqlSession.selectList("namespace.statement", params);
這些方法都可以實(shí)現(xiàn)多個(gè)參數(shù)的傳遞,根據(jù)實(shí)際場(chǎng)景選擇適合的方法即可。