Boa Tarde Caros,
Estou fazendo um programa no modelo DAO(‘Data Acess Object’), mas está dando erro acima,
no entanto, eu abri e fechei a conexão direitinho…
O código mostrarei abaixo:
//CONEXAODAO
[code]
public class ConexaoDao {
Connection connection = null;
PreparedStatement sql = null;
ResultSet rs = null;
public void openDataBase() throws Exception
{
if (connection == null)
{
String url = "jdbc:mysql://localhost:3306/biblioteca";
String user = "root";
String passwd = "";
connection = DriverManager.getConnection(url,user,passwd);
}
}
public void closeDataBase() throws Exception
{
if ( connection != null)
{
connection.close();
}
if ( connection != null)
{
sql.close();
}
}
}[/code]
//DAO
public void inserirMaterial ( Material objMaterial ) throws Exception
{
openDataBase();
sql = connection.prepareStatement("insert into material(titulo,situacao) values (?,?)");
sql.setString(1, objMaterial.getTitulo());
sql.setInt(2, objMaterial.getSituacao());
sql.execute();
closeDataBase();
}
public int buscarUltimoId() throws Exception
{
openDataBase();
int idMaterial = 0;
sql = connection.prepareStatement("Select MAX(id_material) from material; ");
rs = sql.executeQuery();
if ( rs.next())
{
idMaterial = rs.getInt(1);
}
closeDataBase();
return idMaterial;
}
//MAIN
pubDao = new PublicacaoDao();
revDao = new RevistaDao();
System.out.printf("Entre com o nome da revista: ");
mat.setTitulo(sc.next());
System.out.printf("Entre com o situação(numeros): ");
mat.setSituacao(sc.nextInt());
matDao = new MaterialDao();
matDao.inserirMaterial(mat); // Até aqui funciona certinho, depois dá aquele erro mencionado acima
pub.setIdPublicacao(matDao.buscarUltimoId()); // Eu tenho pegar o id do material para inserir na publicacao
pubDao.inserePublicacao(pub);
System.out.printf("Entre com a edição da revista:");
rev.setEdicao(sc.nextLine());
rev.setIdRevista(pubDao.buscarUltimoId()); // Eu tenho pegar o id da publicacao e inserir na Revista
revDao.insereRevista(rev);
System.out.println("A revista "+mat.getTitulo()+" foi cadastrada com sucesso!");
Muito Obrigado,
Att, André Vieira