PROBLEMA mysql, progetto web dinamico con eclipse

Pubblicità

maridelsud

Nuovo Utente
Messaggi
4
Reazioni
0
Punteggio
23
ciao a tutti, premetto che sono nuova di queste cose, è la prima volta che ci metto mano. Allora sto creando un progetto web dinamico con eclipse. ho fatto i vari package, tra i quali uno per la connessione con il database. Con mysql workbench ho creato il database, che ho chiamato "progetto". nel package per la connessione con il database ci faccio una classe. ora, cosa devo scrivere in questa classe? perchè in qualche modo devo collegare il database "progetto" con il mio progetto web di eclipse...
 
Ciao,
se ho ben capito stai creando un'applicazione Web in java tramite eclipse, immagino quindi che stai utilizzando un application server per far girare l'applicativo (per esempio JBoss). Parlo di server perchè la connessione al db nelle web application può essere fatta in diversi modi, uno di questi è quello di creare un data source sul server e quindi recuperarla tramite lookup.
Il metodo più "didattico", comunque è quello di utilizzare il Class.forName.
Per prima cosa devi avere visibilità nel tuo classpath dei driver JDBC del database che utilizzi, i driver JDBC di mysql li trovi su internet cercando jdbc mysql. Una volta scaricato il jar dei driver, lo dovrai copiare nella cartella "WebContent/WEB-INF/lib" all'interno del tuo progetto. A questo punto possiamo passare al codice.
Per recuperare la connessione al DB dovrai scrivere una cosa del genere

Codice:
public static final String MYSQL_SERVER_ADDRESS="localhost";    
public static final String MYSQL_SERVER_PORT="3306";
public static final String MYSQL_DB_NAME="progetto";
public static final String MYSQL_SERVER_URL="jdbc:mysql://"+MYSQL_SERVER_ADDRESS+":"+MYSQL_SERVER_PORT+"/"+MYSQL_DB_NAME;
public static final String MYSQL_USER="root";
public static final String MYSQL_PASSWORD="root";
    
    public Connection getConnection() throws Exception{
        try {
            Class.forName("com.mysql.jdbc.Driver").newInstance();
            Connection con =DriverManager.getConnection(MYSQL_SERVER_URL, MYSQL_USER, MYSQL_PASSWORD);
            return con;
        } catch (Exception e) {
            e.printStackTrace();
            throw e;
        } 
    }


A questo punto puoi utilizzare la connection per eseguire le query, l'unica accortezza è quella di chiudere la connessione al termine dell'esecuzione della query un esempio potrebbe essere:

Codice:
  public void testPrint() throws Exception{[INDENT]Connection conn=null;[/INDENT]
        PreparedStatement ps=null;
        ResultSet rs=null;
        try{
            conn=getConnection();
            String sql="Select * from test where id=?";
            ps=conn.prepareStatement(sql);
            int id=1;
            ps.setInt(1, id);
            rs= ps.executeQuery();
            while(rs.next()){
                rs.getInt(1);
                rs.getString(2);
                rs.getDate(3);
            }
        }catch (Exception e){
            e.printStackTrace();
            throw e;
        }finally{
            if(rs!=null){
                rs.close();
            }
            if(ps!=null){
                ps.close();
            }
            if(conn!=null){
                conn.close();
            }
        }
    }
 
Ultima modifica:
Pubblicità
Pubblicità
Indietro
Top