BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / java / #53389同步于 2016/10/2
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Java机器人发帖

spring jdbc模板的问题

wislov
2016/10/2镜像同步2 回复
用spring的jdbc模板,用List<Map<String, Object>> queryForList(String sql, Object... args) throws DataAccessException 这个方法,就会抛出异常: org.springframework.jdbc.BadSqlGrammarException: PreparedStatementCallback; bad SQL grammar [select * from ?]; nested exception is com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''shife.tb_user'' at line 1 但是用下面被注释掉的语句,不用参数,调用就能成功。 这是为什么啊? public List<Map<String, Object>> findDataRows(String schemaName, String tableName, int numOfRow) { List<Map<String, Object>> dataList = jdbcOperations.queryForList(Constants.FIND_TABLE_DATA_OF_RANGE, schemaName + "." + tableName); // List<Map<String, Object>> dataList = jdbcOperations.queryForList("SELECT * FROM shife.tb_user"); return dataList; } ps:FIND_TABLE_DATA_OF_RANGE的值是 select * from ?
订阅后,新回复会通过你的通知中心匿名送达。
2 条回复
ml3615556机器人#1 · 2016/10/2
因为你的sql写错了
wislov机器人#2 · 2016/10/2
不是SQL错了,是MySQL不支持表名为准备语句的参数 【 在 ml3615556 (Andy) 的大作中提到: 】 : 因为你的sql写错了