• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

alexvaz

Ligação JSP a mySQL

5 mensagens neste tópico

Boa noite a todos.

Estou a desenvolver um projecto em JSP, utilizando javaBeans para modelar a lógica de negócio e preciso fazer ligações a uma base de dados em mysql.

O que preciso para fazer essa ligação?

(Estou a utilizar o apache tomcat)

Obrigado

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Peço desculpa pela minha ignorância, mas tenho duas perguntas:

- onde colocar esse ficheiro .jar?

- que funções utilizar para fazer uma query?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

tudo bem, eu tb estava com essas dúvidas há um tempinho atrás, mas então:

vc coloca esse arquivo em  C:\Arquivos de programas\netbeans-5.5.1\enterprise3\apache-tomcat-5.5.17\common\lib (caso use o netbeans).

e pra vc fazer uma query : http://www.guj.com.br/java.tutorial.artigo.7.1.guj'>http://www.guj.com.br/java.tutorial.artigo.7.1.guj porém, fazendo deste jeito vc não tem um reaproveitamento de código decente e me parece q a eficiencia tb não é mto boa... então eu uso uma classe para a conexão, update equery, porém nesta classe eu não uso nenhum código sql, mas sim em outra, facilitando assim as alterações e -como disse - o reaproveitamento do código. tb é necessário um context.

package br.com.ag7.ImpostoAg7.jdbc.acesso;
import com.sun.rowset.CachedRowSetImpl;
import java.sql.*;
import javax.naming.*;
import javax.sql.DataSource;
import javax.sql.rowset.CachedRowSet;

public class Acesso {

    public static final Connection getConexao() throws NamingException{
       Connection c= null;
        try {
           
        
            Context ctx =new InitialContext();
            DataSource ds = (DataSource)ctx.lookup("java:/comp/env/jdbc/cadastro");
            c = ds.getConnection();
        
        
        
        
        } catch (NamingException ex) {
            ex.printStackTrace();
        } catch (SQLException ex) {
            ex.printStackTrace();
        }
    return c;    
    }
    
    public static final CachedRowSet query(String sql){
        CachedRowSet crs = null;
        try {
            
            
            
            crs = new CachedRowSetImpl();
            PreparedStatement pstm = getConexao().prepareStatement(sql);
            
            System.out.println(sql);
            crs.populate(pstm.executeQuery());
            getConexao().close();
            
            
            
            
        } catch (SQLException ex) {
            ex.printStackTrace();
        } catch (NamingException ex) {
            ex.printStackTrace();
        }
        return crs;
    }
    
        public static final Integer update(String sql){
        Integer i = null;
        try {
            
            
            
            PreparedStatement pstm = getConexao().prepareStatement(sql);
            i = pstm.executeUpdate();
            //pstm.execute();
            getConexao().close();
            
            
            
        } catch (SQLException ex) {
            ex.printStackTrace();
        } catch (NamingException ex) {
            ex.printStackTrace();
        }
        return i;
    }
}


/*
* CadastroCliente.java
*
* Created on 10 de Agosto de 2007, 17:23
*
* To change this template, choose Tools | Template Manager
* and open the template in the editor.
*/

package br.com.ag7.ImpostoAg7.jdbc.implementacao;

import br.com.ag7.ImpostoAg7.jdbc.acesso.Acesso;
import br.com.ag7.ImpostoAg7.jdbc.persistencia.Cadastro;
import br.com.ag7.ImpostoAg7.modelo.imposto.Cliente;
import br.com.ag7.ImpostoAg7.modelo.imposto.Socio;
import java.util.ArrayList;


/**
*
* @author Administrador
*/
public class CadastroCliente implements Cadastro {
    
//CASO ADICIONE ALGUM MÉTODO AQUI ADICIONAR TB NA INTERFACE!!!
    
  
      // public void incluirTudo (Object o)  
      //  {  
      //      incluirCliente(o);  
      //      incluirSocio(o);  
      //  }      
    public ArrayList procurar(String s)
    {
                
    }
    
    public Integer incluirCliente(Object o)
  {    
        
      Cliente c = (Cliente)o;      
      String sql="insert into cliente (nomeEmpresa,ruaEmpresa,complementoEmpresa,bairroEmpresa,telefoneEmpresa,telefone2Empresa,cnpjEmpresa) ";
      sql=sql+"values('"+c.getNomeEmpresa()+"','"+c.getRuaEmpresa()+"','"+c.getComplementoEmpresa()+"','"+c.getBairroEmpresa()+"','"+c.getTelefoneEmpresa()+"','"+c.getTelefone2Empresa()+"','"+c.getCnpjEmpresa()+"' );";     
            System.out.println(sql);
      return Acesso.update(sql);
  }
  
    public Integer incluirSocio (Object o)
    {
        Socio s=(Socio)o;
        String sql="insert into socio (nomeSocio , rgSocio , cpfSocio , aniversarioSocio , ruaSocio, complementoSocio , bairroSocio , telefoneSocio , telefone2Socio , participacaoSocio , obsSocio) ";
        sql=sql+"values('"+s.getNomeSocio()+"' , '"+s.getRgSocio()+"' , '"+s.getCpfSocio()+"' , '"+s.getAniversarioSocio()+"' , '"+s.getRuaSocio()+"' , '"+s.getComplementoSocio()+"' , '"+s.getBairroSocio()+"' , '"+s.getTelefoneSocio()+"' , '"+s.getTelefone2socio()+"' , "+s.getParticipacaoSocio()+" , '"+s.getObsSocio()+"' );";
            System.out.println(sql);
        return Acesso.update(sql);
    }
}

<?xml version="1.0" encoding="UTF-8"?>
<Context path="/ImpostoAg7">
  <Resource driverClassName="com.mysql.jdbc.Driver" 
  maxActive="8"
  maxIdle="4" 
  name="jdbc/cadastro" 
  password="diogo88" 
  type="javax.sql.DataSource" 
  url="jdbc:mysql://localhost:3306/cadastro?autoReconnect=true"
  username="root"/>
</Context>

links interessantes:

http://java.sun.com/developer/technicalArticles/Programming/jndi/index.html

http://www.guj.com.br/

não sei se me fiz mto claro,

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Não falaste no IDE que estás a usar, mas esse ficheiro pode estar em qualquer localização, tem é de ser bem adicionado ao IDE.

Mas se estás a usar o Netbeans, o IDE possui um sistema de ligação a Base de Dados e componentes de ligação como os que existem no Delphi ou no .Net que permitem o uso de JDBC sem teres necessidade de escrever código ou sequer conheceres a API de JDBC.

Mas os exemplos colocados acima servem como boa introdução :D

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora