Avatar billede celal Nybegynder
01. november 2001 - 23:28 Der er 4 kommentarer og
1 løsning

Standard Connect kode

Jeg har en applikation, hvor jeg bruger Beans til at connecte til databasen. Jeg har disse connect Funktioner på alle mine java filer, jeg vil gerne samle alle disse, så jeg kun benytter en og samme JavaBean til at connecte til databasen. Er der nogen der har et forslag til hvordan jeg stiller min JavaBean op? Jeg har vildt mange af de samme connect Beans, hvordan får jeg alle JSP siderne til at connecte til samme JavaBean?
Avatar billede gonzospunk Nybegynder
01. november 2001 - 23:44 #1
Jeg har lavet en \"DatabaseConnectionMySQL\" klasse, som min bean benytter sig af. Dvs. selve connect delen ligger så i den anden klasse. Klassen kan så returnere et Statement, som Beanen kan benytte, når den skal lave queries!

Der er stadig mange beans, men det er fordi de laver forskellige ting. Koden til at skabe databaseforbindelsen er dog kun et sted.

Alternativt kan du vel samle det hele i en bean, hvor de enkelte funktioner repræsenterer de forskellige queries.
Avatar billede celal Nybegynder
01. november 2001 - 23:56 #2
Okay, bliver der så overført nogen argumenter fra din Connect klasse som din beans kan benytte til at få adgang til databasen?
Avatar billede celal Nybegynder
01. november 2001 - 23:56 #3
har du noget Code du kan vise mig? Måske Eksempler?
Avatar billede gonzospunk Nybegynder
02. november 2001 - 00:04 #4
Connectklassen returnerer et statement, som min bean benytter!

Du kan hente et eksempel her:
http://www.sjl.dk/dev/dbjava.zip

Det er beregnet til MySQL, men jeg har også lavet en Connectklasse til MSSQL server.
Avatar billede disky Nybegynder
02. november 2001 - 00:27 #5
for 418 gang her er min database klasse som jeg bruger til al database adgang:

Den skulle være ligefrem at anvende ellers bare sig til.


Du kalder open() med følgende parametere:


\"org.gjt.mm.mysql.Driver\",\"jdbc:mysql://ServerNavn/Database\",\"UserName\",\"Password\"


Det er altså \'ServerNavn\' du skal ændre, og selvfølgelig og Database,username,password.


import java.sql.*;

/**
*
* @author  srr
* @version
*/
public class dbHandler extends Object
{
   
    private Connection con=null;

    /** Creates new DataBase */
    public dbHandler()
    {
    }

    public boolean open(String dbDriverName, String dbClassName, String user, String pass)
    {           
        System.out.println(\"************************************************************************\");
        try
        {
            if(con==null)
            {
                Class.forName(dbDriverName).newInstance();
                con = DriverManager.getConnection(dbClassName, user, pass);
                System.out.println(\"con = \"+con);
            }
        }
        catch (SQLException e)
        {
            e.printStackTrace(System.out);
            return false;
        }
        catch (ClassNotFoundException e)
        {
            e.printStackTrace(System.out);
            return false;
        }
        catch (InstantiationException e)
        {
            e.printStackTrace(System.out);
            return false;
        }
        catch (IllegalAccessException e)
        {
            e.printStackTrace(System.out);
            return false;
        }
        return true;
    }
   
    public void close()
    {
        if(con!=null)
        {
            try
            {
                con.close();
                con=null;
            }
            catch (SQLException e)
            {
                e.printStackTrace(System.out);
            }
        }
    }
   
    public int doUpdate(String sql)
    {
        if(con!=null)
        {
            try
            {
                long time=System.currentTimeMillis();
                Statement stat=con.createStatement();
                System.out.println(\"SQL Update = \"+(System.currentTimeMillis()-time)+\" ms  \"+sql);
                return stat.executeUpdate(sql);       
            }
            catch (SQLException e)
            {
                e.printStackTrace(System.out);
            }
        }
        return 0;
    }

    public ResultSet doQuery(String sql)
    {
        if(con!=null)
        {
            try
            {
                long time=System.currentTimeMillis();
                Statement stat=con.createStatement();
                System.out.println(\"SQL Update = \"+(System.currentTimeMillis()-time)+\" ms  \"+sql);
                return stat.executeQuery(sql);       
            }
            catch (SQLException e)
            {
                e.printStackTrace(System.out);
            }
        }
        return null;
    }
}
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester