在MyBatis中,可以通過parameterType屬性來傳遞復雜參數。parameterType屬性用于指定傳遞給SQL語句的參數類型,可以是Java對象、Map或者自定義的復雜參數對象。
例如,如果要傳遞一個包含多個參數的復雜對象,可以定義一個Java Bean類來表示這個復雜參數對象,然后在Mapper接口中指定parameterType為這個Java Bean類,如下所示:
public class ComplexParam {
private String param1;
private int param2;
// getters and setters
}
public interface MyMapper {
void myMethod(ComplexParam complexParam);
}
在Mapper XML文件中,可以通過parameterType屬性來指定傳遞的參數類型,如下所示:
<mapper namespace="com.example.MyMapper">
<select id="myMethod" parameterType="com.example.ComplexParam" resultType="java.lang.String">
SELECT * FROM my_table WHERE column1 = #{param1} AND column2 = #{param2}
</select>
</mapper>
在調用myMethod方法時,只需要傳入一個ComplexParam對象作為參數即可:
ComplexParam complexParam = new ComplexParam();
complexParam.setParam1("value1");
complexParam.setParam2(123);
myMapper.myMethod(complexParam);
這樣就可以通過parameterType屬性傳遞復雜參數了。需要注意的是,傳遞的參數類型必須與Mapper接口中定義的參數類型一致,否則可能會導致參數傳遞失敗。