Pular para o conteúdo principal

Inserindo dados no oracle usando html e java

Bom pessoal, vou postar agora uma serie de dicas sobre a linguagem Java, não que eu entenda a ponto de apresentar material avançado mas acho que algumas coisas que vou colocar aqui será interessante.
Bom, nessa primeira parte, nós vamos criar uma tabelas no Oracle ( relacional ) criar usuários.
Logo em seguida usando o NetBeans vamos criar um projeto WEB, utilizando JSP vamos inserir dados nesse nessas tabelas.
Os requisitos para treinar esse artigo é:

  • Oracle ( vou utilizar o 10g )
  • NetBeans ( completo para web incluindo servidores )
  • Java ( estou usando o JDK 1.5)
  • Drive Oracle para Conectar com o Bando de dados.

Crie um usuário no Oracle, com o nome cadastro e com a senha 1234
execute esse SQL.
O esquema do banco de dados é esse:

CREATE TABLE  "TBLCADASTRO" 
   (    "CODIGO" NUMBER NOT NULL ENABLE, 
    "NOME" VARCHAR2(255), 
     CONSTRAINT "TBLCADASTRO_PK" PRIMARY KEY ("CODIGO") ENABLE
   )



É Bem simples ele apenas cria dois campos um com o nome CODIGO, e outro com o nome  NOME, como é uma texto explicativo não em necessidade de encher a tabela de campos, use esse script para criar o banco.


Com o banco criado vamos agora configurar o Drive oracle para que o netbeans possa se conectar no nosso banco.

Faça o Download no site da oracle, do drive respectivo a sua versão, por exemplo: Eu to utilizando o Oracle 10G versão 2.2.0.1.0 e vou utilizar o JDK 1.5 então baixe esse arquivo, e faça o seguinte, no NetBeans, dentro doo seu projeto Existe um diretorio escrito, Bibliotecas, clique nele com o botão direito, Adicionar JAR, e escolha o Arquivo do drive que acabou de baixar ;D
Com isso a parte de configuração para que posso ser realizada a conexão está pronto, vamos agora a programação.

Adicione um pacote com o nome "PkConectar" dentro desse pacote vamos adicionar a classe responsável por fazer a conexão com o banco de dados, ela será instanciada mais a  frente para podermos realizar operação no banco.


// Indica que a cadConectar está do Pacote PkConexao
package PkConexao;

// Importa as bibliotecas necessarias para fazer a conexão e o tratamento de erros

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

public class cadConectar {
// Cria metodo getConectar, observe que ela é o tipo Connection

    public static Connection getConectar() throws SQLException {
        try {

// Indica quanl Drive será usado, nesse caso o Drive Oracle

            Class.forName("oracle.jdbc.driver.OracleDriver");
        } catch (ClassNotFoundException ex) {
            ex.printStackTrace();
        }
//Retorna a Conexão para o metodo getConectar(), nesse caso servidor 127.0.0.1 porta 1521, usuario cadastro, senha 1234 ;D


        return  DriverManager.getConnection("jdbc:oracle:thin:@127.0.0.1:1521:XE","cadastro","1234");
        }
}



Bom depois disso vamos a outra classe:



O Próximo passo é criar uma classe, que receberá o valor que será passado a esses campos, com todos os métodos get e set.

Aqui está, a classe, observe o pacote em que ela está. PkCadastro

package PkCadastro;

public class Cadastro {
int Codigo;
String Nome;

    public int getCodigo() {
        return Codigo;
    }

    public void setCodigo(int Codigo) {
        this.Codigo = Codigo;
    }

    public String getNome() {
        return Nome;
    }

    public void setNome(String Nome) {
        this.Nome = Nome;
    }
    
}


Bom, o que foi feito até agora ?

Criamos a classe de conexão.
Criamos o Script SQL para a tabela no oracle, não se esqueça de observar o usuário.

Agora vamos criar um classe que recebera os valores do formulário html :D

// Essa classe está dentro do Pacote PkObter.

package PkObter;
//Bibliotecas necessarias para a classe.


    import PkCadastro.Cadastro;
    import PkConexao.cadConectar;
    import java.io.IOException;
    import java.sql.Connection;
    import java.sql.SQLException;
    import java.util.logging.Level;
    import java.util.logging.Logger;
    import javax.servlet.ServletException;
    import javax.servlet.annotation.WebServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;

// Nome do servlet isso será usando no formulário html

   @WebServlet(name="obterCadastro", urlPatterns="/obterCadastro")
    public class obterCadastro extends javax.servlet.http.HttpServlet implements javax.servlet.Servlet {

//instancia da classe Cadastro, onde está os métodos de get e set.


    Cadastro cadastro = new Cadastro();
    int codigo;
    String nome;
       private static final long serialVersionUID = 1L;
    @Override
       public void init() {
        }
    @Override
       public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

         
     

           codigo = Integer.parseInt(request.getParameter("codigo"));
           nome = request.getParameter("nome");

           // Aplica valores na instancia cadastro de Cadastro

           cadastro.setCodigo(codigo);
           cadastro.setNome(nome);
        try {
//observe aqui que criamos uma variável no tipo Connection  e recebe o método getConectar que está na classe cadConectar explica la em cima.

            Connection con = cadConectar.getConectar();
// Aqui criamos uma variavel no tipo PreparedStatement, que gravado o SQL que está a frente, a variável cnx, seria a ligação entre o SQL e o stmt.

            java.sql.PreparedStatement stmt = con.prepareStatement("insert into tblcadastro(codigo,nome) values ("+ cadastro.getCodigo() +",'" + cadastro.getNome() + "')");
            stmt.execute();
            stmt.close();
        } catch (SQLException ex) {
            Logger.getLogger(obterCadastro.class.getName()).log(Level.SEVERE, null, ex);
        }
    }
   }


Bom, é isso ai, simples mé, agora a parte mais moleza de todas, criar o formulario html :D

       


 <%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
   "http://www.w3.org/TR/html4/loose.dtd">
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>Cadastro</title>
    </head>
    <body>
        <h1>Formulario de cadastro de pessoas </h1>
        <form id="obterCadastro" action="obterCadastro" method="post">
        <table>
        <tr><td>Código</td><td><input type="text" id = "codigo" name="codigo" /></td></tr>
        <tr><td>Primeiro Nome</td><td><input type="text" id = "nome" name="nome" /></td></tr>
        </table>
        <input type="submit" id="btSalvar" value="Salvar" />
        </form>
    </body>
</html>


tranquilo né, com nem vou explica o formulário, só observe que o action dele é essa linha la em cima na classe, Obtercadastro
   @WebServlet(name="obterCadastro", urlPatterns="/obterCadastro")
certo ?

Bom, isso é tudo pessoal, não se esqueça se ter alguma duviva clique aqui

Postagens mais visitadas deste blog

Criando um sistema de login em Java.

Login Pessoal, nesse exemplo vou demonstrar como criar um sistema de login em Java, usando servlet , jsp , e html. A IDE usada será o Netbeans , Bom a primeira coisa a ser feita é criar um projeto web pelo NetBeans . Para isso, siga os seguintes passos. Menu     File → New Project Agora clique em Java Web, depois aplicação WEB. Agora clique em Next . Coloque um nome para sua aplicação WEB, e clique em finish . Novamente clique em Next . Feito isso, agora vamos criar o formulário para que o usuário entre com o Login e a senha. Formário HTML <%@page contentType="text/html" pageEncoding="UTF-8"%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"    "http://www.w3.org/TR/html4/loose.dtd"> <html>     <head>         <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">         <title> Sistema de login em JSP </title>     <

Problema de charset OTRS

Tive um problema com apache e OTRS, nosso banco ORACLE estava no charset iso-8859-1. Foi necessário jogar essas linhas no arquivos /etc/init.d/httpd LANG='AMERICAN_AMERICA.WE8ISO8859P1'; export LANG NLS_LANG='AMERICAN_AMERICA.WE8ISO8859P1'; export NLS_LANG NLS_NUMERIC_CHARACTERS=,.; export NLS_NUMERIC_CHARACTERS Feito isso de um restart no apache service httpd restart Com isso deve resolver o problema.