Algumas dúvidas sobre a utilização de BD e Java?

Oi,

Estou estudando um programa que cadastra fornecedores e estou tentando entender algumas coisas:

Está na classe conectaBD
qual a função das linhas:
private Statement teste;
private ResultSet retorno;

teste = con.createStatement();

qual a diferença?
public ConexaoBanco(){} ou somente:
public ConexaoBanco ?

Está na Classe Cad_Fornecedor
é algum padrão?
teste.executeUpdate(pvolta);
retorno = teste.executeQuery(pvolta); o executeQuery e o executeUpdate são algum padrão?

O retorno de uma select deve ser uma string?
String pvolta = "select * from fornecedor where cod_for = " + getCod_for();

e da onde saiu o getCod_for() ? é algum objeto ou será alguma trigger ou store procedure?

O que realizam estas linhas?
retorno = conexao.Consulta_Dados(pvolta);
boolean result = retorno.next();
if (result)

Se alguém poder ajudar. Agradeço.

1-Statement é a classe que executa os códigos sql, mas recomendo a utilização do PreparedStatement.

o Statement está sendo instanciando.

teste.executeUpdate(pvolta);

vc esta eecutando o código sql contido na String pvolta.

retorno = teste.executeQuery(pvolta);

retorno é o ResultSet que irá receber a consulta que consta na String pvolta.

2-ResultSet é um list q vc irá implementar qndo quiser retornar valores do BD.

[quote] O retorno de uma select deve ser uma string?
String pvolta = "select * from fornecedor where cod_for = " + getCod_for();
e da onde saiu o getCod_for() ? é algum objeto ou será alguma trigger ou store procedure? [/quote]

o seu select irá ser retornado atraves do ResultSet.
atraves do ResultSet vc irá retornar os valores nos tipos q vc deseja.
http://java.sun.com/j2se/1.4.2/docs/api/java/sql/ResultSet.html

e akele getCod_for(); ali é o metodo do VO q vc manda como parametro.

[quote] O que realizam estas linhas?
retorno = conexao.Consulta_Dados(pvolta);
boolean result = retorno.next();
if (result) [/quote]

retorno novamente eh o seu ResultSet
e a variavel boolean result vai receber o valor
correspondente a existir ou nao um proximo nodo.

P.S.: Espero não ter falado nada erradamente.

Valeu.

Ajudou bastante.

Qual a diferença entre Statement e PreparedStatement?

No PreparedStatement você pode usar parametros dentro da query. No Statement, não. O máximo que você pode fazer é uitilizar String concatenadas à sua query, o que é uma solução não muito elegante e pode ser insegura.

[quote]Statement

"SELECT * FROM cliente WHERE id_cliente = " + varIdCliente
[/quote]

[quote]Prepared Statement

“SELECT * FROM cliente WHERE id_cliente = ?”
[/quote]

Ok. Valeu