Operações no bd mysql

3 respostas
M
Galera me da uma força ai. Sou iniciante em Java e até agora não consegui encontrar o erro quando tento inserir dados no bd;

Obs : Uso o padrão MVC;

Segue abaixo as classes e interface:

// pacote bean -> class Fornecedor ------------------------------------------------------------------------->
package bean;

public class Fornecedor {

private int id;

private String nome;

private String Endereco;

public int getId() {

return id;

}

public void setId(int id) {

<a href="http://this.id">this.id</a> = id;

}

public String getNome() {

return nome;

}

public void setNome(String nome) {

this.nome = nome;

}

public String getEndereco() {

return Endereco;

}

public void setEndereco(String endereco) {

Endereco = endereco;

}

}

// pacote dao-> class Conector ------------------------------------------------------------------------------------->

package macedo.wellen.arquitetura.dao;

import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.SQLException;

public class Conector {

private String url = jdbc:mysql://localhost/loja;

private String user = root;

private String senha = “”;
public Connection getConexao(){

Connection con = null;

if (con == null){

try {

con = DriverManager.getConnection(url, user, senha);

} catch (SQLException e) {

// TODO Auto-generated catch block

e.printStackTrace();

System.out.println(e.getErrorCode());	

}

}

return con;

}

}

// pacote dao -> class FornecedorDao ela implementa a interface Dao que está logo abaixo -------------->

package dao;

import java.sql.PreparedStatement;

import java.sql.SQLException;

import java.util.List;
import bean.Fornecedor;

import macedo.wellen.arquitetura.dao.Conector;

import macedo.wellen.arquitetura.dao.Dao;

public class FornecedorDao implements Dao{

Fornecedor fornecedor = new Fornecedor();
Conector conn = new Conector();

@Override
public List<Object> Select() {
	// TODO Auto-generated method stub
	return null;
}

@Override
public void delete(Object arg0) {
	// TODO Auto-generated method stub
	
}

@Override
public void insert(Object arg0) {
	String sql = "insert into fornecedor (nome, endereco) values (?,?)";
	 
	try {
		PreparedStatement pst = conn.getConexao().prepareStatement(sql);
		pst.setString(1, fornecedor.getNome());
		pst.setString(2, fornecedor.getEndereco());
		pst.executeUpdate();
		
	} catch (SQLException e) {
		// TODO Auto-generated catch block
		e.printStackTrace();
	}

		
}

@Override
public Object select(int arg0) {
	// TODO Auto-generated method stub
	return null;
}

@Override
public void update(Object arg0) {
	// TODO Auto-generated method stub
	
}

}

// interface Dao ------------------------------------------------------------------------------------------------------------>

package br.com.arquitetura;

import java.awt.List;

// essa interface força todo mundo que implementar ela também implementar seus métodos
public interface Dao {

public void insert(Object o);
public void update(Object o);
public void delete(Object o);
public Object select(int id); // aqui temos uma sobrecarga pois pode ser um select ou outro
public List select();

}

// Nossa class para testar ---------------------------------------------------------------------------------------------------->

package util;

import dao.FornecedorDao;
import bean.Fornecedor;

public class Start {

public static void main(String[] args) {


 Fornecedor fornecedor = new Fornecedor();
 FornecedorDao dao = new FornecedorDao();
 
 fornecedor.setId(2);
 fornecedor.setNome("Wellen");
 fornecedor.setEndereco("Nova Esperaça");
 dao.insert(fornecedor);
 
}

}

Não é possível fazer a inclusão do objeto Fornecedor no banco de dados. O pede ser? Já quebrei a cabeça aqui e não achei o erro.

3 Respostas

Roselito_Favero_da_S

Você não tem nenhum stack trace mostrando o que acontece quando tenta inserir?

S

Dica,edite o seu primeiro post colocando o codigo entre as tags Code para que fique mais legivel…
Assim tenho certeza que muita gente nem vai ler…
As tags Code está entre o quote e list,embaixo do assunto ,obrigado
E poste a stacktrace pra gente ver qual erro está dando também…

adrianoaquino

Boa noite pessoal!

mjmacedo, tenta implementar a classe de conexão abaixo, mas minha principal citação seria a respeito do registro do driver, na linha 04:

public Connection getConnection() throws SQLException {
		
		try {
			DriverManager.registerDriver(new com.mysql.jdbc.Driver());
			return DriverManager.getConnection("jdbc:mysql://localhost/fj21", "root", "12345");
		} catch (SQLException e) {
			throw new RuntimeException(e + "erro no driver");
		}		
	}

Falow!

Criado 14 de setembro de 2013
Ultima resposta 18 de set. de 2013
Respostas 3
Participantes 4