我在MySQL5分貝表用一個美元符號前綴名「$」 即表名$ MYTABLEmSQL的表名籤
我使用Spring 3.0的JdbcTemplate做我的選擇查詢,但不能讓它工作。
即
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", .., ..));
你甚至在世界上如何管理?你最簡單的解決方案是從你的表名中取出標點符號...... – Charles 2010-06-20 05:33:08