Criando classe Java para conectar e manipular dados no MySQL
Este artigo mostra como criar classes para comunicação com o banco de dados MySQL. Criaremos duas classes, a primeira fará a conexão com o banco de dados e a segunda fará o papel de uma query que permitirá a manipulação de dados. Estas classes poderão ser reutilizadas em outras aplicações Java.
Parte 4: Criando a classe MysqlQuery
A classe MysqlQuery possui vários métodos para manipulação de dados.
Veja o código completo:
//classe para conectar com MySQL.
//Criado por Allan Kardec (Graduado em Matemática)
import java.sql.*;
public class MysqlQuery {
//Declarando as variáveis publicas
public Connection Database = null;
public boolean status;
public ResultSet rs;
public Statement stm;
private boolean statusreg =true;
// fim da declaração
public MysqlQuery(Connection Db){
try {
Database=Db;
stm = Database.createStatement();
status = false;
} catch(SQLException e) {
e.printStackTrace();
System.out.print("Erro ao criar Query!");
}
}
public void open(String sql) {
try {
rs= stm.executeQuery(sql);
status = true;
} catch(SQLException e) {
status = false;
System.out.print("Erro ao executar Query!");
e.printStackTrace();
}
}
public void execute(String sql) {
try {
stm.execute(sql);
status = true;
} catch(SQLException e) {
status = false;
System.out.print("Erro ao executar Query!");
e.printStackTrace();
}
}
public String fieldbyname(String field){
String value = null;
try {
if(rs.getString(1)!=null) status=false;
if(status) rs.next();
value = rs.getString(field);
status=true;
} catch(SQLException e) {
System.out.println("Field invalido!");
}
return value;
}
public int recordcount(){
int tot=0;
try {
rs.first();
do {
tot++;
} while(rs.next());
} catch(SQLException e) {
status = false;
System.out.print("Erro ao executar Query!");
e.printStackTrace();
}
return tot;
}
public boolean next(){
boolean retorno=false;
try {
if(rs.next()){retorno=true;}
} catch(SQLException e) {
System.out.print("Erro ao executar Query!");
}
return retorno;
}
public boolean prev(){
boolean retorno=false;
try {
if(rs.previous()){retorno=true;}
} catch(SQLException e) {
System.out.print("Erro ao executar previous!");
}
return retorno;
}
public boolean first(){
boolean retorno=false;
try {
if(rs.first()){retorno=true;}
} catch(SQLException e) {
System.out.print("Erro ao executar first!");
}
return retorno;
}
public boolean last(){
boolean retorno=false;
try {
if(rs.last()){retorno=true;}
} catch(SQLException e) {
System.out.print("Erro ao executar last!");
}
return retorno;
}
}
//Criado por Allan Kardec (Graduado em Matemática)
import java.sql.*;
public class MysqlQuery {
//Declarando as variáveis publicas
public Connection Database = null;
public boolean status;
public ResultSet rs;
public Statement stm;
private boolean statusreg =true;
// fim da declaração
public MysqlQuery(Connection Db){
try {
Database=Db;
stm = Database.createStatement();
status = false;
} catch(SQLException e) {
e.printStackTrace();
System.out.print("Erro ao criar Query!");
}
}
public void open(String sql) {
try {
rs= stm.executeQuery(sql);
status = true;
} catch(SQLException e) {
status = false;
System.out.print("Erro ao executar Query!");
e.printStackTrace();
}
}
public void execute(String sql) {
try {
stm.execute(sql);
status = true;
} catch(SQLException e) {
status = false;
System.out.print("Erro ao executar Query!");
e.printStackTrace();
}
}
public String fieldbyname(String field){
String value = null;
try {
if(rs.getString(1)!=null) status=false;
if(status) rs.next();
value = rs.getString(field);
status=true;
} catch(SQLException e) {
System.out.println("Field invalido!");
}
return value;
}
public int recordcount(){
int tot=0;
try {
rs.first();
do {
tot++;
} while(rs.next());
} catch(SQLException e) {
status = false;
System.out.print("Erro ao executar Query!");
e.printStackTrace();
}
return tot;
}
public boolean next(){
boolean retorno=false;
try {
if(rs.next()){retorno=true;}
} catch(SQLException e) {
System.out.print("Erro ao executar Query!");
}
return retorno;
}
public boolean prev(){
boolean retorno=false;
try {
if(rs.previous()){retorno=true;}
} catch(SQLException e) {
System.out.print("Erro ao executar previous!");
}
return retorno;
}
public boolean first(){
boolean retorno=false;
try {
if(rs.first()){retorno=true;}
} catch(SQLException e) {
System.out.print("Erro ao executar first!");
}
return retorno;
}
public boolean last(){
boolean retorno=false;
try {
if(rs.last()){retorno=true;}
} catch(SQLException e) {
System.out.print("Erro ao executar last!");
}
return retorno;
}
}
Salve este código fonte com o nome MysqlQuery.java. Para compilá-lo digite:
$ javac MysqlQuery.java
Será criado um arquivo com o nome: MysqlQuery.class
A classe já está pronta para ser utilizada.
Será que voce pode me ajudar em mais uma coisa?
No caso eu queria usar com o PostgreSQL, mas antes eu tinha feio uns testes e não consegui, tem um lugar certo para colocar o driver do postgre etc...???
Valew té mais, fique com Deus!