Je tables dans Mysql 5 db avec des noms préfixés avec un signe de dollar « $ » -à-dire tablename MYTABLE
$ J'utilise Spring 3.0 JdbcTemplate pour faire ma requête de sélection mais ne pouvait pas le faire fonctionner.
-à-dire
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() { .... });
Ce sera toujours jette InvalidSqlException, probablement à cause du signe $. Si je fais juste une requête normale sans param, ie.
private static final String STOCK_SELECT =
"select symbol, open, high, low, close, vol, ev from $AAPL";
Puis tout fonctionne. Comment puis-je échapper le signe $ en utilisant jdbcTemplate?
- Edition, ce que je fini par faire -
Au lieu de passer le nom de la table "AAPL $" à JdbcTemplate, je viens de créer la chaîne SQL manuellement, à savoir
jdbcTemplate.query(getStockSelect("$AAPL", .., ..));
Comment avez-vous géré cela dans le monde? Votre solution la plus simple serait d'enlever la ponctuation de vos noms de table ... – Charles