Como inserir dados no banco de dados oracle?

pessoal bom dia!!! estou tentando gravar alguns dados no banco de dados e não estou conseguindo

esse é o factory para conexao

package teste;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;

/**
 *
 * @author celera
 * * hibernate.connection.driver_class	oracle.jdbc.OracleDriver
 * hibernate.connection.url	jdbc:oracle:thin:@localhost:1521:xe
 * hibernate.connection.username	system
 * hibernate.connection.password	admin
 */
public class ConnectionFactory {

    public static Connection getConnection()throws SQLException{
        try{
            Class.forName("oracle.jdbc.OracleDriver");
            return DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:xe","system","admin");
        }catch (ClassNotFoundException e){
            throw new SQLException(e.getMessage());
        }
    }
}

e esse é o codigo para enserir os dados

package teste;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;

/**
 *
 * @author celera
 */
public class JDBCInsere {

    public static void main(String[] args) throws SQLException {

        //conectando a base

        Connection con = ConnectionFactory.getConnection();


        //cria statement

        PreparedStatement stmt = con.prepareStatement("insert into cantatos(nome,email)values(?,?)");

        //preenche os valores
        stmt.setString(1, "daniel");
        stmt.setString(2,"snowblacksoul@hotmail.com");

        //executa
        stmt.execute();
        stmt.close();

        System.out.println("GRAVADO COM SUCESSO!!");

        con.close();
    }

    }

os erros que esta dando!!

Exception in thread “main” java.sql.SQLSyntaxErrorException: ORA-00942: a tabela ou view não existe

    at oracle.jdbc.driver.SQLStateMapping.newSQLException(SQLStateMapping.java:91)
    at oracle.jdbc.driver.DatabaseError.newSQLException(DatabaseError.java:133)
    at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:206)
    at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:455)
    at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:413)
    at oracle.jdbc.driver.T4C8Oall.receive(T4C8Oall.java:1034)
    at oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:194)
    at oracle.jdbc.driver.T4CPreparedStatement.executeForRows(T4CPreparedStatement.java:953)
    at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1222)
    at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:3387)
    at oracle.jdbc.driver.OraclePreparedStatement.execute(OraclePreparedStatement.java:3488)
    at oracle.jdbc.driver.OraclePreparedStatementWrapper.execute(OraclePreparedStatementWrapper.java:1374)
    at teste.JDBCInsere.main(JDBCInsere.java:34)

Java Result: 1
CONSTRUÍDO COM SUCESSO (tempo total: 5 segundos)

como faço pra inserir os dados por favor!!!

parece que a tabela contatos não está sendo encontrada…
confere o nome dela e a url do banco pra ver se estão ok

package teste;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;

/**
 *
 * @author celera
 *
 * hibernate.connection.driver_class	oracle.jdbc.OracleDriver
 * hibernate.connection.url	jdbc:oracle:thin:@localhost:1521:xe
 * hibernate.connection.username	system
 * hibernate.connection.password	admin
 */
public class JDBCExemplo {


    public static void main(String[] args) {

        try{

            Class.forName("oracle.jdbc.OracleDriver");
            Connection con=
                    DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:xe","system","admin");
            System.out.println("CONECTADO!!!!!");
            con.close();


        }catch(ClassNotFoundException e){
            e.printStackTrace();
        }catch(SQLException e){
           e.printStackTrace();
        }
    }
}

eu conseguir fazer a conexao, só não consigo inserir os dados.

resultado:
init:
deps-module-jar:
deps-ear-jar:
deps-jar:
compile-single:
run-main:
CONECTADO!!!
CONSTRUÍDO COM SUCESSO (tempo total: 3 segundos)

Fale cara!
Só uma pergunta: O nome da tabela não seria “contatos”? Vc escreveu “cantatos” com “a”…

[quote=rafaelcfc]Fale cara!
Só uma pergunta: O nome da tabela não seria “contatos”? Vc escreveu “cantatos” com “a”…[/quote]
é verdade… não tinha reparado isso… da uma olhada nesse nome da tua tabela…

cantatos

arrume q pode da certo

fiz o teste, coloquei “contatos” e continua a dar o mesmo erro!!

não é a importação das classes!!?

Cara, quanto a importacao ja tem o connection e o drivermanager… se nao nem iria fazer a conexao
só se for de algum pacote de outra classe, isso vc vai ver se tiver pedindo import (aquela lampada que aparece ao lado esquerdo do codigo)

cara, isso ta com cara de erro “bobo” que acontece direto mesmo…normal

verifica os campos se esta escrito certo, se nao tem espaço, a ordem certa

cara, nao seria mais pratico vc fazer uma classe Contatos e nela declarar as variaveis e fazer os getters e setters ?

ai nesta sua classe que vc usa parar inserir dados vc colocaria assim

[code]public void adiciona(Contato c1) throws SQLException
{
//Prepara a conexão
String sql = “INSERT INTO contatos (nome,email)”+
“VALUES (?,?)”;
PreparedStatement stmt = conexao.prepareStatement(sql);

    //Preenche os valores
    stmt.setString(1, c1.getNome());
    stmt.setString(2, c1.getEmail());


    //Executa e fecha
    stmt.execute();
    stmt.close();
}[/code]

E depois criava uma classe adicionar contato

[code]
Contato contato = new Contato();
contrato.setNome(“aaaaa”);
contrato.setEmail(“aaaaa”);

    ContatoDao dao = new ContatoDao();
    dao.adiciona(contato);
    JOptionPane.showMessageDialog(null, "Contato adicionado com sucesso!");[/code]

espero que possa ajudar

Cara fiz exatamente isso que propos,mas esta dando esse erro

Exception in thread “main” java.sql.SQLSyntaxErrorException: ORA-00942: a tabela ou view não existe

    at oracle.jdbc.driver.SQLStateMapping.newSQLException(SQLStateMapping.java:91)
    at oracle.jdbc.driver.DatabaseError.newSQLException(DatabaseError.java:133)
    at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:206)
    at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:455)
    at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:413)
    at oracle.jdbc.driver.T4C8Oall.receive(T4C8Oall.java:1034)
    at oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:194)
    at oracle.jdbc.driver.T4CPreparedStatement.executeForRows(T4CPreparedStatement.java:953)
    at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1222)
    at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:3387)
    at oracle.jdbc.driver.OraclePreparedStatement.execute(OraclePreparedStatement.java:3488)
    at oracle.jdbc.driver.OraclePreparedStatementWrapper.execute(OraclePreparedStatementWrapper.java:1374)
    at teste.ContatoDAO.adiciona(ContatoDAO.java:35)
    at teste.TestaInsere.main(TestaInsere.java:28)

Java Result: 1
CONSTRUÍDO COM SUCESSO (tempo total: 29 segundos)

deve ter algum erro na url, que ainda não sei qual é, como no oracle ele identifica a tabela?!

snowblacksoul,

Voce tem algum client para acessar o banco de dados Oracle, como o SQL Developer ou ou outro qualquer?

Aparentemente a sua tabela ainda não existe no banco de dados, por isso antes de você tentar inserir dados nela você precisa criá-la.

A tabela criada deve chamar CONTATOS e conter as seguintes colunas NOME e EMAIL que podem ser do tipo VARCHAR2.

Olhe abaixo o erro que está ocorrendo no seu código:

java.sql.SQLSyntaxErrorException: ORA-00942: a tabela ou view não existe

Em vez de usar execute() tenta usar executeUpdate();