Когда вы используете синтаксис, такой как #columnValue
mybatis создаст подготовленный оператор и свяжет переменную для вас. Это имеет несколько последствий:
- вам не нужно ставить кавычки вокруг
#columnValue
- вам не нужно экранировать переданные значения
#
может использоваться только там, где разрешен параметр в запросе JDBC. Таким образом, вы не можете использовать его для генерации динамического имени столбца
Если вы хотите сгенерировать динамический запрос, используйте $columnName
. Полный запрос будет выглядеть так:
select * from info where ${columnName}=#{columnValue}