Ter um nome de coluna como parâmetro de entrada de um PreparedStatement
Eu já usei a pesquisa aqui (e outros fóruns também), mas não encontrei uma resposta exata do que estou tentando fazer.
Eu sei que isso pode ser feito facilmente de alguma outra forma, e isso é apenas uma pequena estrutura de sandbox que eu estou codificando para um curso universitário ... em um ambiente real eu acabei de ter Spring, Hibernate etc.
Então, o que fiz foi codificar-me uma pequena camada genérica de acesso a dados com POJOs, trabalhando com métodos genéricos para recuperar, verificar ou inserir dados no banco de dados (Oracle). A maior parte disso é feita através de PreparedStatements.
Isso está funcionando desde que eu não tenho junções ... é possível colocar em uma coluna como parâmetro?
Exemplo:
Table A has Attribute X + others
Table B has Attribute Y + others
PreparedStatement com consultaSELECT * FROM A,B WHERE "A"."X" = ?
E, em seguida, preencha "B". "Y" como o parâmetro ...
O banco de dados não me lança um erro ou exceção, mas oResultSet
retornado após a execução da declaração está vazia. Não é apenas possível, ou estou apenas perdendo algum escape?
estou a usarPreparedStatement.setString(int index, String value)
para preencher o parâmetro ... na falta de idéias que outro método setX eu poderia usar ...
Novamente, em um projeto real, eu nunca codificaria isso, mas usaria algo como Spring ou Hibernate e não reinventaria a roda, mas eu vejo isso como um exercício interessante para codificar uma camada genérica de acesso a dados pequenos.