Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Kako se iz Jave konektovati na MySQL bazu

[es] :: Java :: Kako se iz Jave konektovati na MySQL bazu

[ Pregleda: 2443 | Odgovora: 6 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

tanaka
Beograd

Član broj: 103685
Poruke: 18
*.vdial.verat.net.



Profil

icon Kako se iz Jave konektovati na MySQL bazu03.08.2006. u 11:29 - pre 215 meseci
Pocetnik sam u Java programiranju i treba da se konektujem na bazu koja je mysql.Citao sam neka upustva sa neta i sada napisao sam deo test koda koji bi trebao da importuje neke podatke u postojecu tabelu u mysql bazi.Koristim eclipse 3.1, Mysql 5.0, java JDK 1.5, mysql-connector-java-3.1.10.zip

Podesio sam classpath na C:\Program Files\Java\jre1.5.0_03\lib\mysql-connector-java-3.1.10.zip; gde mi se inace i nalazi
mysql-connector-java-3.1.10.zip

import java.sql.*;

public class Konekcija {

String Puffball,Dvd45;

String query = "INSERT INTO filmovi VALUES ("+Puffball+","+Dvd45+","+1977+")";
;
Connection connection; // Holds the connection to the database


public Konekcija(String driverClassName, String dbname,
String username, String password)
throws ClassNotFoundException, SQLException
{

connection = DriverManager.getConnection(dbname,username, password);


if (connection == null)
throw new IllegalStateException("Connection already closed.");


Statement statement =
connection.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,
ResultSet.CONCUR_READ_ONLY);

ResultSet r = statement.executeQuery(query);

}

public void close() {
try { connection.close(); }
catch (Exception e) {}
connection = null;
}


protected void finalize() { close(); }

public static void main(String args[]){
try{
Konekcija k = new Konekcija("com.mysql.jdbc.Driver","baza",
"root","root");} catch (ClassNotFoundException e){}
catch (SQLException se){};
// k.close();
}
}

Sledeci deo koda ne radi.Da li bi trebao da importujem jos nesto osim java.sql.*,naime ja sam u eclipse importovao u projekat u kome mi se ovo nalazi ova klasa mysql-connector-java-3.1.10.zip.Inace u svim primerima koje sam skinuo sa neta Class Driver Name ima putanju com.mysql.jdbc.Driver, a ja kada raspakujem ovaj drajver koji imam onim ima istu strukturu paketa com.mysql.jdbc, sqamo sto nema Driver na kraju vec neke druge pakete.Mozda je u tome problem.Sta onda da radim?

Pozdrav svima , hvala unapred na odgovorima.Pocetnik sam tako da mozda nesto lupim ali se nadam da cete imati razumevanja
 
Odgovor na temu

nemnesic
nemnesic
Software Developer
Vranje Florida

Moderator
Član broj: 44355
Poruke: 802
*.com
Via: [es] mailing liste



+64 Profil

icon Re: Kako se iz Jave konektovati na MySQL bazu03.08.2006. u 13:33 - pre 215 meseci
Pozdrav tanaka,

vidi ovu "moju" classu

Code:

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.sql.*;

public class ConnectDB {
    Connection conn;
    
    private void dbConnect(String user, String pass, String host)
    {
         try
            {
                Class.forName("com.mysql.jdbc.Driver");
                String s = "jdbc:mysql://" + host + "/?user=" + user + 
"&password=" + pass;

               Connection conn = DriverManager.getConnection(s);


            }
            catch ( ClassNotFoundException cnfex )
            {
            System.err.println( "Failed to load JDBC/ODBC driver." );
            System.exit( 1 );
           }
            catch (SQLException ex)
            {
                 JOptionPane.showMessageDialog(null,"" + ex.getMessage() 
+ "nSQLState: " + ex.getSQLState() + "nVendorError: " + 
ex.getErrorCode(),"Error",JOptionPane.ERROR_MESSAGE);
                 System.out.println("SQLState: " + ex.getSQLState());
                 System.out.println("VendorError: " + ex.getErrorCode());
            }
            finally
            {
                if (conn != null)
                {
                    try
                    {
                        conn.close ();
                        System.out.println ("Database connection 
terminated");
                    }
                    catch (Exception e) { /* ignore close errors */ }
                }
            }
            
        
    }
                
}


pozdrav
nn
 
Odgovor na temu

tanaka
Beograd

Član broj: 103685
Poruke: 18
213.244.197.*



Profil

icon Re: Kako se iz Jave konektovati na MySQL bazu03.08.2006. u 14:49 - pre 215 meseci
Hvala nemnesic na odgovoru, probacu sa ovim da vidim da li radi kod mene

 
Odgovor na temu

nemnesic
nemnesic
Software Developer
Vranje Florida

Moderator
Član broj: 44355
Poruke: 802
*.com
Via: [es] mailing liste



+64 Profil

icon Re: Kako se iz Jave konektovati na MySQL bazu03.08.2006. u 17:14 - pre 215 meseci
>


EVO TI OVO: radio 100%

Input_test.java
Code:

/*
  * Created on Aug 3, 2006
  *
  * TODO To change the template for this generated file go to
  * Window - Preferences - Java - Code Style - Code Templates
  */

import java.io.*;

/**
  * @author ndn5293
  * this class is just for testing purposes. It just gets input from the 
user.
  */
public class Input_test {
     private static BufferedReader stdin = new BufferedReader( new 
InputStreamReader( System.in ) );
    private ConnectDB db;
     public Input_test()
        {
        
            try{
                getInput();
                }
                catch(Exception e){e.printStackTrace();
                }
                
        }
    
    
     public static void main(String[] args) {
        
        new Input_test();
    }
    public void getInput() throws Exception
    {
            // Prompt the user
             System.out.print( "user: " );


             // Read a line of text from the user.
             String user = stdin.readLine();
             //user = user.toUpperCase();
             System.out.print( "pass: " );
             String pass = stdin.readLine();
             //pass = pass.toUpperCase();
             System.out.print( "host: " );
             String host = stdin.readLine();
             //host = host.toUpperCase();

             db = new ConnectDB();
             db.dbConnect(user,pass,host);


    }
}


i ConnectDB.java

Code:

/*
  * Created on Aug 3, 2006
  *
  * TODO To change the template for this generated file go to
  * Window - Preferences - Java - Code Style - Code Templates
  */
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.sql.*;

/**
  * @author ndn5293
  *
  * TODO To change the template for this generated type comment go to
  * Window - Preferences - Java - Code Style - Code Templates
  */
public class ConnectDB {
    
    Connection conn;
    
    public void dbConnect(String user, String pass, String host)
    {
        try
        {
            Class.forName("com.mysql.jdbc.Driver");
            String s = "jdbc:mysql://" + host + "/?user=" + user + "&password=" + 
pass;
            
            Connection conn = DriverManager.getConnection(s);
            
            
            
        }
        catch ( ClassNotFoundException cnfex )
        {
            System.err.println( "Failed to load JDBC/ODBC driver." );
            System.exit( 1 );
        }
        catch (SQLException ex)
        {
            JOptionPane.showMessageDialog(null,"" + ex.getMessage() + 
"nSQLState: " + ex.getSQLState() + "nVendorError: " + 
ex.getErrorCode(),"Error",JOptionPane.ERROR_MESSAGE);
            System.out.println("SQLState: " + ex.getSQLState());
            System.out.println("VendorError: " + ex.getErrorCode());
        }
        finally
        {
            if (conn != null)
            {
                try
                {
                    conn.close ();
                    System.out.println ("Database connection terminated");
                }
                catch (Exception e) { /* ignore close errors */ }
            }
        }
        
    }
    
    public int countIt(int count, String user, String pass, String host)
    {
        
        
        if(count < 30)
        {
            JOptionPane.showMessageDialog(null,"Connecting..." + count, "OK", 
JOptionPane.ERROR_MESSAGE);
            dbConnect(user, pass, host);
                    
        }
        
        else
        {
            JOptionPane.showMessageDialog(null,"Too many tries", "Error", 
JOptionPane.ERROR_MESSAGE);
        }
        
        count++;
        
        return count;
        
    }
    
}



pozdrav
 
Odgovor na temu

tanaka
Beograd

Član broj: 103685
Poruke: 18
*.vdial.verat.net.



Profil

icon Re: Kako se iz Jave konektovati na MySQL bazu03.08.2006. u 21:28 - pre 215 meseci
hvala ti na odgovoru, izgleda da je meni problem sa konektorm na bazu tj. drajverima.Da li mozes da mi kazes sta da radim sa njima(kao da ih ne vidi),

Podesio sam classpath na C:\Program Files\Java\jre1.5.0_03\lib\mysql-connector-java-3.1.10.zip; gde mi se inace i nalazi
mysql-connector-java-3.1.10.zip

U klasi sam importovao paket java.sql.*;

namestio sam classname, database,username, pass kao sto je za moju bazu.Da li treba da bi se importovao Driver za konekciju na bazu jos nesto uraditi, jer mi se cini da on ne vidi drajvere.

Pozdrav i hvala ti za odgovore!!!
 
Odgovor na temu

nemnesic
nemnesic
Software Developer
Vranje Florida

Moderator
Član broj: 44355
Poruke: 802
*.com
Via: [es] mailing liste



+64 Profil

icon Re: Kako se iz Jave konektovati na MySQL bazu03.08.2006. u 21:32 - pre 215 meseci
>


unZIP
mysql-connector-java-3.1.10.zip

i sad set classpath to mysql-connector-java-x.x.xx.jar file.


nn
 
Odgovor na temu

tanaka
Beograd

Član broj: 103685
Poruke: 18
*.vdial.verat.net.



Profil

icon Re: Kako se iz Jave konektovati na MySQL bazu05.08.2006. u 14:42 - pre 215 meseci
public class Konekcija1 {

String Puffball,Dvd45;
Connection connection = null;
Statement statement;
String query = "INSERT INTO filmovi VALUES ("+Puffball+","+Dvd45+","+1977+")";

Konekcija1() {

try {
// Load the JDBC driver
String driverName = "com.mysql.jdbc.Driver"; // MySQL MM JDBC driver
Class.forName(driverName);

// Create a connection to the database
String serverName = "localhost";
String mydatabase = "baza";

String username = "username";
String password = "password";
String url = "jdbc:mysql://" + serverName + "/" + mydatabase; // a JDBC url
connection = DriverManager.getConnection(url, username, password);


} catch (ClassNotFoundException e) {
System.out.print("Nisu nadjeni drajveri za bazu");
// Could not find the database driver
} catch (SQLException e) {
System.out.print("Ne moze da se poveze na bazu");
// Could not connect to the database
}


}

public static void main(String[] args){
Konekcija1 k = new Konekcija1();

}



Evo ovo bi trebalo a radi po svim pravilima.I on meni sada nadje drajvere(mislim ne javi mi ClassNotFoundException), ali mi javi SQLException tj. da ne moze da se konektuje na bazu.

Sta li znaci ovo

jdbc:mysql:// u urlu, mozda taj url nije dobar(iako vidim da je u svim primerima tako ide ovo jdbc:mysql:// pa onda lokacija baze, da li ta putanja zavisi nesto od drajvera ili sta?To mi ni jasno , ali je veoma moguce da url nije dobar.

 
Odgovor na temu

[es] :: Java :: Kako se iz Jave konektovati na MySQL bazu

[ Pregleda: 2443 | Odgovora: 6 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.