Pessoal, estou com dificuldades para fazer rodar um insert via DAO, aparece mensagem de erro: Relation “usuario” does not exist. Posição 13.
Alguém pode me ajudar?
Class TestUsuarioDAO
package cjweb1.teste;
import cjweb1.entidades.Usuario;
import cjweb1.jdbc.UsuarioDAO;
public class TestUsuarioDAO {
public static void main(String[] args) {
Usuario usu = new Usuario();
usu.setNome("CArlos");
usu.setLogin("Car");
usu.setSenha("123");
UsuarioDAO usuDao = new UsuarioDAO();
usuDao.cadastrar(usu);
}
}
Class UsuarioDAO
package cjweb1.jdbc;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import cjweb1.entidades.Usuario;
public class UsuarioDAO {
//Precisamos primeiro de uma conexão com o banco
private Connection con = Conexao.getConnection();
public void cadastrar(Usuario usuario){
String sql = "INSERT INTO USUARIO" +" (nome, login, senha)"+" VALUES (?, ?, ?)";
try {
PreparedStatement preparador = con.prepareStatement(sql);
preparador.setString(1,usuario.getNome());
preparador.setString(2,usuario.getLogin());
preparador.setString(3,usuario.getSenha());
preparador.execute();
preparador.close();
System.out.println("Dados salvos com sucesso");
} catch (SQLException e) {
// TODO Auto-generated catch block
System.out.println("Não foi possível salvar nos banco"+e.getMessage());
}
}
}
Class Usuario
package cjweb1.entidades;
public class Usuario {
private Integer id;
private String nome;
private String login;
private String senha;
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getNome() {
return nome;
}
public void setNome(String nome) {
this.nome = nome;
}
public String getLogin() {
return login;
}
public void setLogin(String login) {
this.login = login;
}
public String getSenha() {
return senha;
}
public void setSenha(String senha) {
this.senha = senha;
}
}
Class Conexão
package cjweb1.jdbc;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
public class Conexao {
public static Connection getConnection(){
Connection con=null;
try {
con = DriverManager.getConnection("jdbc:postgresql://localhost:5432/postgres", "postgres","Bibd7014");
System.out.println("Conectado com sucesso");
} catch (SQLException e) {
// TODO Auto-generated catch block
System.out.println("Não foi possível se conectar com o banco" + e.getMessage());
}
return con;
}
}
O erro que aparece no console é :Relation “usuario” does not exist. Posição 13.
Está caindo no SQLException.
Parece ser um erro na instrução sql, pois dá esse mesmo erro quando tento fazer direto no postgree.
Dessa forma da erro: Insert into usuario (nome, login, senha) values (‘carlos’, ‘car’,‘123’);
e dessa forma não: Insert into public.“usuario” (nome, login, senha) values (‘carlos’, ‘car’,‘123’);
só que dessa forma não roda no eclipse.
Não sei mais o que fazer, já coloquei todo tipo de driver do postgree e não roda, até mudei versão.
Obrigado Daniel, mas tbm não deu certo.
Parece que o a aplicação não está encontrando a tabela usuário.
Mas ela está lá só esperando rsrs
Parece ser um erro de driver, pois o código esta correto.