connectie met MySQL DB vanuit andere klasse

Status
Niet open voor verdere reacties.

sweet

Gebruiker
Lid geworden
30 jan 2004
Berichten
271
hallo,
ik heb de volgende codes:
Code:
import java.sql.*;


public class Database  {
    
    public static void main(String[] args) {
        Connection con = null;
        
        try {
            Class.forName("com.mysql.jdbc.Driver").newInstance();
            con = DriverManager.getConnection("jdbc:mysql://localhost:3306/mynewdatabase", "root", "");
            
            if(!con.isClosed())
                System.out.println("Successfully connected to KLAPSTUK...");
            
        } catch(Exception e) {
            System.err.println("Exception: " + e.getMessage());
        } finally {
            try {
                if(con != null)
                    con.close();
            } catch(SQLException e) {}
        }
    }

    Connection connect() {
        return null;
    }


}

hier maak ik mijn database connectie aan, en in het volgende klasse de DB operaties:
Code:
import java.sql.*;


public class LedenDB extends Leden
        implements DatabaseOperaties {
    
    public void insert() {
        PreparedStatement pstmt;
        
        try {
            pstmt = con.prepareStatement("INSERT INTO LEDEN VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)");
            
            pstmt.setInt     (1, getLidnummer());
            pstmt.setString  (2, getNaam());
            pstmt.setString  (3, getStraat());
            pstmt.setInt     (4, getHuisnummer());
            pstmt.setString  (5, getPostcode());
            pstmt.setString  (6, getPlaats());
            pstmt.setString  (7, getEmail_adres());
            pstmt.setInt     (8, getTelnummer());
            pstmt.setDate    (9, (java.sql.Date) getStart_lidmaatschap());
            
            int x = pstmt.executeUpdate();
            
            pstmt.close();
        } catch (SQLException eSql) {
            System.out.println("Fout bij insert in database");
        }
    }
    
    public void update() {
        PreparedStatement pstmt;
        
        try {
            pstmt = con.prepareStatement("UPDATE LEDEN set naam = ?, straat = ?, huisnummer = ?, postcode = ?, plaats = ?, email_adres = ?, telnummer = ?, start_lidmaatschap = ?, WHERE lidnummer = ?");
            
            pstmt.setInt     (9, getLidnummer());
            pstmt.setString  (1, getNaam());
            pstmt.setString  (2, getStraat());
            pstmt.setInt     (3, getHuisnummer());
            pstmt.setString  (4, getPostcode());
            pstmt.setString  (5, getPlaats());
            pstmt.setString  (6, getEmail_adres());
            pstmt.setInt     (7, getTelnummer());
            pstmt.setDate    (8, (java.sql.Date) getStart_lidmaatschap());
            
            int x = pstmt.executeUpdate();
            
            pstmt.close();
        } catch (SQLException eSql) {
            System.out.println("Fout bij update in database");
        }
    }
    
    public void delete(){
        PreparedStatement pstmt;
        
        try {
            pstmt = con.prepareStatement("DELETE FROM LEDEN WHERE lidnummer = ?");
            
            pstmt.setInt(1, getLidnummer());
            
            int x = pstmt.executeUpdate();
            
            pstmt.close();
        } catch (SQLException eSql){
            System.out.println("Fout bij delete in database");
        }
    }
    
    public static LedenDB select(String lcode) {
        LedenDB l = new LedenDB();
        
        PreparedStatement pstmt;
        ResultSet resultaat;
        
        try {
            pstmt = con.prepareStatement("SELECT * FROM LEDEN WHERE lidnummer = ?");
            pstmt.setString(1, lcode);
            
            resultaat = pstmt.executeQuery();
            
            while (resultaat.next()) {
                l.setLidnummer(resultaat.getInt("lidnummer"));
                l.setNaam(resultaat.getString("naam"));
                l.setStraat(resultaat.getString("straat"));
                l.setHuisnummer(resultaat.getInt("huisnummer"));
                l.setPostcode(resultaat.getString("postcode"));
                l.setPlaats(resultaat.getString("plaats"));
                l.setEmail_adres(resultaat.getString("Email_adres"));
                l.setTelnummer(resultaat.getInt("telnummer"));
                l.setStart_lidmaatschap(resultaat.getDate("start_lidmaatschap"));
            }
        } catch (SQLException eSql) {
            System.out.println("Fout bij select in database");
        }
        
        return l;
    }

   
}
hoe kan ik nu vanuit een nieuw klasse de select methode oproepen en laten uitvoeren en de connect aanroepen van de database (deze hoef ik toch niet in elke klasse opnieuw helemaal aan te maken??)? Hier kom ik na extreem veel zoeken, lezen, proberen echt niet uit, hulp wordt gewaardeerd ....
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan