У меня есть таблицы в Mysql 5 db с именами с префиксом знака доллара "$", т.е. имя таблицы $MYTABLE
Я использую Spring 3.0 JdbcTemplate для выполнения моего запроса на выборку, но не смог заставить его работать.
ie
String tablename = "$AAPL";
private static final String STOCK_SELECT =
"select symbol, open, high, low, close, vol, ev from ?";
jdbcTemplate.query(STOCK_SELECT,
new Object[] { tablename },
new RowMapper() { .... } );
Это всегда будет вызывать InvalidSqlException, предположительно из-за знака $. Если я просто сделаю обычный запрос без параметров, т.е.
private static final String STOCK_SELECT =
"select symbol, open, high, low, close, vol, ev from $AAPL";
Тогда все работает.
Как я могу избежать знака $ с помощью jdbcTemplate?
-- Редактировать, что я в итоге сделал --
Вместо того, чтобы передавать имя таблицы "$AAPL" в jdbcTemplate, я просто создаю строку SQL вручную, т.е.
jdbcTemplate.query( getStockSelect("$AAPL", .., .. ));