Escolar Documentos
Profissional Documentos
Cultura Documentos
Aplica Aplicao
Oracle
SQL Server
MySQL
Isto causa um grande problema de codificao e manuteno nas aplicaes que precisam trabalhar com diversos banco de dados e tambm requer o aprendizado de uma nova API para cada BD diferente. Isso no torna a aplicao flexvel.
Oracle
SQL Server
MySQL
Com JDBC as chamadas ao BD so padronizadas, apesar de que os comandos SQL podem variar de banco para banco, se no for usado o SQL padro.
Atravs do mtodo createStatement() de Connection retornado um objeto Statement, que usado para executar um comando SQL no BD. O mtodo executeUpdate() de Statement recebe o SQL que ser executado. Este mtodo deve ser usado para DDLs e comandos SQL de INSERT, UPDATE ou DELETE. Depois os mtodos close() de Statement e Connection so invocados para liberar os recursos.
Porm, o Statement s pode ser liberado com o mtodo close() ao final das execues de todos os comandos SQL.
O mtodo executeQuery() de Statment executa uma consulta (query) SQL e retorna um objet ResultSet, que contm os dados recuperados. Atravs do mtodo next() de ResultSet, o cursor interno movido para o prximo registro. O mtodo retorna false caso no existam mais registros ou true caso contrrio. Os valores dos registros podem ser recuperados como o mtodo getString(), que recebe o nome do campo ou seu alias.
Esta forma, apesar de ser correta, no a melhor e nem a mais indicada, pois torna o trabalho de concatenao extremamente chato e passvel de erros na montagem do comando SQL, alm de permitir que outros comandos SQL sejam embutidos e executados maliciosamente. A melhor maneira , certamente, trocar o uso de Statement por PreparedStatement.