Bom dia,
estou dando manutenção em um sistema com jdbc template no spring mvc…
Ele precisa retorna um json via rest porém o select esta retornando um erro que não consigo entender.
Coloquei um sisout pra pegar o select no console que esta sendo aplicado, jogo ele no plsql developer e roda normalmente. Não conheço muito sobre JDBC template será que a sintaxe é diferente do que estou fazendo?
Seguem as classes: Eu mascarei o select…
@Repository
public class DAOImpl implements DAO {private JdbcTemplate jdbcTemplate;
@Autowired public DAOImpl(DataSource dataSource) { jdbcTemplate = new JdbcTemplate(dataSource); }public Entity findById(Long id) {
StringBuffer sql = new StringBuffer(); sql.append(" SELECT '6972837'"); System.out.println(sql); return jdbcTemplate.queryForObject(sql.toString(), new Mapper(), id);}
}
[INFO ] [2018-09-03 17:26:13,908] [stdout:71] - SELECT WHERE = ‘6972837’
[INFO ] [2018-09-03 17:26:14,034] [XmlBeanDefinitionReader:315] - Loading XML bean definitions from class path resource [org/springframework/jdbc/support/sql-error-codes.xml]
[INFO ] [2018-09-03 17:26:14,050] [SQLErrorCodesFactory:126] - SQLErrorCodes loaded: [DB2, Derby, H2, HSQL, Informix, MS-SQL, MySQL, Oracle, PostgreSQL, Sybase]
17:26:14,066 ERROR [org.apache.catalina.core.ContainerBase.[jboss.web].[default-host].[/application].[dispatcher]] (http-localhost/127.0.0.1:8180-1) JBWEB000236:Servlet.service()for servlet dispatcher threw exception: java.sql.SQLException: Ãndice de coluna inválido
atoracle.jdbc.driver.OraclePreparedStatement.setLongInternal(OraclePreparedStatement.java:4919)
Obrigado!