I wonder how could I describe in mybatis xml stored procedure call with optional parameters.
For example:
DAO
public List getMethod1(Object arg1) {
Map<String, Object> map = new HashMap<String, Object>();
map.put("arg1", arg1);
return selectList("myBatisSelect", map);
}
public List getMethod1(Object arg1, Object arg2) {
Map<String, Object> map = new HashMap<String, Object>();
map.put("arg1", arg1);
map.put("arg2", arg2);
return selectList("myBatisSelect", map);
}
XML
<select id="myBatisSelect"
parameterType="map"
resultType="MyResultObject">
CALL sql_stored_procedure
(
@arg1= #{arg1}
<!-- How to add optional parameter here??-->
)
</select>
You could use conditional logic to dynamically generate your sql.
i.e.
The MyBatis3 User Guide has more information.