Metodo para inserção no banco de dados JDBC

3 respostas
TaubateSistemas

Boa noite a todos,

Gostaria de uma ajuda.

Com a ajuda de vcs já consegui fazer a conexao com o BD e verificar se o BD esta conectado.
// cria a conexao com o BD
    public static Connection conexao() throws SQLException {  
        Connection conn = DriverManager.getConnection("jdbc:mysql://localhost/dados?user=root&password=1234");  
        if (conn.isClosed()) {  
           JOptionPane.showMessageDialog(null, "Problema ao conectar com o banco de dados.!");  
        }
		return conn;  
          
    }  

    
   //verifica se a conexao esta aberta! 
   public static boolean verificaConexao () throws SQLException{  
    	Connection conn;
		try {
			
			conn = Conexao.conexao();
			if (!conn.isClosed()) {           
	            return true;      
	        }else{    
	            return false;      
	        }      
			
		} catch (SQLException e) {
			System.out.println("erro de conexao!" + e.getMessage());
			return false;
		}  

    }

Agora gostaria de saber qual seria o melhor jeito de fazer a inserção no meu Banco Mysql???

PS.: pesquisei por aqui e achei algumas coisas mais nada me foi util.

desde já agradeço a todos que me ajudam sempre.. rs

3 Respostas

MarkKnopfler

1 - Inserção básica:

Statement st = conn.createStatement();
st.executeUpdate("insert into tbl_basica values (1,1)");

2 - Com transação:

try{
   conn.setAutoCommit(false);
   Statement stmt = conn.createStatement();
   
   String SQL = "INSERT INTO Employees  " +
                "VALUES (106, 20, 'Rita', 'Tez')";
   stmt.executeUpdate(SQL);  

   // Aqui uma instruçãozinha com erro:
   String SQL = "INSERTED IN Employees  " +
                "VALUES (107, 22, 'Sita', 'Singh')";
   stmt.executeUpdate(SQL);
   // Se deu certo confirma a transação
   conn.commit();
}catch(SQLException se){
   // Se houver um erro desfaz os 2 inserts!!
   conn.rollback();
   se.printStackTrace();
}

3 - Vários inserts na mesma tabela: use PreparedStatement para otimizar o desempenho:

try{
    String query = "INSERT INTO tabela (id, nome) VALUES (?, ?)";  // Observe os "?"
    PreparedStatement  pstmt = conn.prepareStatement(query);  

    // Agora vc pode executar a instrução várias vezes (em um loop, por exemplo):
    pstmt.setInt(1, 1000);      // 1o. ?
    pstmt.setString(2, "João"); // 2o. ? 
    pstmt.executeUpdate();            

    pstmt.setInt(1, 1001);       // 1o. ?
    pstmt.setString(2, "Maria"); // 2o. ? 
    pstmt.executeUpdate();            


    conn.commit(); 
}catch(SQLException se){
   // Se houver um erro desfaz todos os inserts!!
   conn.rollback();
   se.printStackTrace();
}
TaubateSistemas

Amigo, vou testar aki, mais se alguem mais tiver algum metodo… aceito mais ajudas…rs

Estou saindo do vb6 para o java e to me fudendo!! kkkk

Mais vlw

Gustavo_Marques

Aqui postei uma classe DAO de exemplo com métodos de insersão, exclusão, update e select (CRUD).

http://programadorprofissional.blogspot.com.br/2012/09/crud-no-banco-de-dados-com-java-e-jdbc.html

Passe sua conexão no construtor da Classe e não esquece de fechar a conexão no fim da transação.

Att

Criado 4 de novembro de 2012
Ultima resposta 4 de nov. de 2012
Respostas 3
Participantes 3