Got solution from Eduardo Macarron (myBatis developer)
I got it. It is an interesting finding. Have a look at the expression you posted.
{reportRunDate mode=IN, jdbcType=DATE},
There is no comma separating the property name and the mode!
What is happening is that 3.0 and 3.1 admitted using an space as a separator, though that was undocumented, untested and at least in my case unknown :)
3.2 parsing code was improved and now it supports a well defined grammar:
- Inline parameter expression parser. Supported grammar (simplified):
-
- inline-parameter = (propertyName | expression) oldJdbcType attributes
- propertyName = /expression language's property navigation path/
- expression = '(' /expression language's expression/ ')'
- oldJdbcType = ':' /any valid jdbc type/
- attributes = (',' attribute)*
- attribute = name '=' value
And the space is not a valid separator (so properties can in fact be called "input date").
This change was unwanted but was introduced in 3.2 one year ago so I am afraid we cannot go back.
I hope you just missed the comma and that was not intentional. Sorry!