Elektroda.pl
Elektroda.pl
X
Please add exception to AdBlock for elektroda.pl.
If you watch the ads, you support portal and users.

JDBC czyli JAVA i MYSQL - brak podłączenia z bazą

tomcki123 13 Apr 2009 02:11 5605 1
  • #1
    tomcki123
    Level 10  
    Witam!
    próbuję od kilku dni podłączyć się do bazy danych MySQL z programu napisanego w JAVIE.
    W sumie sam kod programu znalazłem gdzieś w internecie, natomiast sam problem tkwi w instalacji (konfiguracji) sterownika JDBC.
    Pobrałem odpowiedni sterownik, rozpakowałem go i znajdujący się tam plik wrzuciłem sobie do folderu.
    Uruchomiłem linię poleceń i próbowałem jakoś odpalić plik JAR który ściągnąłem z internetu, dodałem zmienną środowiskową o nazwie CLASSPATH, do której podałem ścieżkę z plikiem JAR.
    Póki co nic nie działa, a efekt zamieszczam poniżej na obrazkach.
    Mam nadzieję, że mi ktoś pomoże:

    Kod programu:

    
    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.PreparedStatement;
    import java.sql.ResultSet;
    import java.sql.Statement;
    
    public class DaoMySQL {
    	private Connection connect = null;
    	private Statement statement = null;
    	private ResultSet resultSet = null;
    	
    	public DaoMySQL() throws Exception {
    		try {
    			
    			Class.forName("com.mysql.jdbc.Driver").newInstance();
    			
    			
    			
    			connect = DriverManager
    					.getConnection("jdbc:mysql://localhost:3306/test?"
    							+ "user=root&password=admin");
    			PreparedStatement statement = connect
    					.prepareStatement("SELECT * from test.user");
    
    			resultSet = statement.executeQuery();
    			while (resultSet.next()) {
    				String user = resultSet.getString("user_name");
    				String age = resultSet.getString("user_age");
    				
    				System.out.println("User: " + user);
    				System.out.println("Age: " + age);
    				
    			}
    		} catch (Exception e) {
    			throw e;
    		} finally {
    			close();
    		}
    
    	}
    
    
    	private void close() {
    		try {
    			if (resultSet != null) {
    				resultSet.close();
    			}
    
    			if (statement != null) {
    				statement.close();
    			}
    
    			if (connect != null) {
    				connect.close();
    			}
    		} catch (Exception e) {
    
    		}
    	}
    	
    	public static void main(String[] args) throws Exception {
    		DaoMySQL dao = new DaoMySQL();
    	}
    
    }
    


    Kolejny Listening - tym razem błędy wyrzucone przez Eclipse
    
    Exception in thread "main" java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
    	at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
    	at java.security.AccessController.doPrivileged(Native Method)
    	at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
    	at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
    	at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:276)
    	at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
    	at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
    	at java.lang.Class.forName0(Native Method)
    	at java.lang.Class.forName(Class.java:169)
    	at DaoMySQL.<init>(DaoMySQL.java:20)
    	at DaoMySQL.main(DaoMySQL.java:67)
    


    Co ciekawe, gdy spróbowałem (w zasadzie nie wiem po co) uruchomić plik jar z linii poleceń wyskoczyło mi coś takiego:

    JDBC czyli JAVA i MYSQL - brak podłączenia z bazą
  • #2
    pallid
    Level 20  
    Aby skompilowac poprawnie Swoj projekt, plik .jar ze sterownikiem bazy danych powinienes wrzucic do classpath projektu. Natomiast, zeby aplikacja sie uruchomila, ten sam plik powinien byc widoczny dla JRE. Mozesz podac sciezke do pliku jako parametr -classpath w linii komend, lub wrzucajac ten plik bezposrednio do katalogu %JRE%/lib/ext. Nie musisz go (tj. pliku .jar) rozpakowywac.
    Pozdr.