Java Spring JDBCTemplate抛出BadSqlGrammarException
我有一个SQL查询,它是使用SpringJDBCTemplate执行的,用于从Oracle数据库检索数据。执行该语句时,会抛出org.springframework.jdbc.badsqlgramarException 在SQL Plus控制台中运行时,相同的SQL语句将返回正确的结果 下面是我正在尝试执行的代码:Java Spring JDBCTemplate抛出BadSqlGrammarException,java,jdbc,spring-jdbc,jdbctemplate,Java,Jdbc,Spring Jdbc,Jdbctemplate,我有一个SQL查询,它是使用SpringJDBCTemplate执行的,用于从Oracle数据库检索数据。执行该语句时,会抛出org.springframework.jdbc.badsqlgramarException 在SQL Plus控制台中运行时,相同的SQL语句将返回正确的结果 下面是我正在尝试执行的代码: String query = "SELECT DISTINCT O.ORGID FROM ORGANISATIONS O WHERE O.ORGTYPE NOT IN ('P','G
String query = "SELECT DISTINCT O.ORGID FROM ORGANISATIONS O WHERE O.ORGTYPE NOT IN ('P','G') AND O.USERID = 40";
ArrayList<Organisations> orgsList = new ArrayList<Organisations>();
Object[] paramsArray = new Object[]{};
orgsList = (ArrayList<Organisations>) getJdbcTemplate().query(query.toString(), paramsArray ,
new RowMapper<Organisations>(){
public MetricsRoleMap mapRow(ResultSet rs, int rowNum) throws SQLException {
// Data retrieval code;
};
});
我为另一个方法编写的类似代码运行良好。我认为这里有一个小错误,但我找不到它。你能在这里粘贴你的异常吗?粘贴错误和你正在创建的查询,如果你没有参数,那么在空数组中传递有什么意义。我也尝试使用数组传递参数。但发生了相同的错误。错误消息显示列名无效。因此,请检查您使用的所有列名是否确实存在。同一查询在sql plus控制台中正确执行。
org.springframework.jdbc.BadSqlGrammarException: PreparedStatementCallback; bad SQL grammar [ SELECT DISTINCT O.ORGID FROM ORGANISATIONS O WHERE O.ORGTYPE NOT IN ('P','G') AND O.USERID = 40]; nested exception is java.sql.SQLException: Invalid column name
at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTranslator.java:231) [spring-jdbc-4.0.5.RELEASE.jar:4.0.5.RELEASE]
at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:73) [spring-jdbc-4.0.5.RELEASE.jar:4.0.5.RELEASE]
at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:660) [spring-jdbc-4.0.5.RELEASE.jar:4.0.5.RELEASE]
at org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:695) [spring-jdbc-4.0.5.RELEASE.jar:4.0.5.RELEASE]
at org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:727) [spring-jdbc-4.0.5.RELEASE.jar:4.0.5.RELEASE]
at org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:737) [spring-jdbc-4.0.5.RELEASE.jar:4.0.5.RELEASE]
at org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:787) [spring-jdbc-4.0.5.RELEASE.jar:4.0.5.RELEASE]