Moin
ich habe in meiner klasse connection pooling eingebaut
ich habe 2 dateien
SQLClass.java
und mysql test.java
nun bekomm ich aber folgenden fehler dass er den treiber net laden kann...
Exception in thread "main" org.apache.commons.dbcp.SQLNestedException: Cannot load JDBC driver class 'com.mysql.jdbc.Driver'
at org.apache.commons.dbcp.BasicDataSource.createDataSource(BasicDataSource.java:1136)
at org.apache.commons.dbcp.BasicDataSource.getConnection(BasicDataSource.java:880)
at verwaltung.SQLClass.ExecuteUpdate(SQLClass.java:50)
at verwaltung.MySqlTest.main(MySqlTest.java:31)
Caused by: java.lang.ClassNotFoundException: com/mysql/jdbc/Driver
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:169)
at org.apache.commons.dbcp.BasicDataSource.createDataSource(BasicDataSource.java:1130)
... 3 more
was könnte das sein?
thx for help
ich habe in meiner klasse connection pooling eingebaut
ich habe 2 dateien
SQLClass.java
Code:
package verwaltung;
import java.sql.*;
import javax.sql.DataSource;
import org.apache.commons.dbcp.BasicDataSource;
public class SQLClass {
Connection con;
DataSource dataSource = createDBCPMySQLDataSource();
//Statement stmt = con.createStatement();
private Statement stmt;
public static BasicDataSource createDBCPMySQLDataSource() {
BasicDataSource ds = new BasicDataSource();
ds.setDriverClassName("com.mysql.jdbc.Driver4");
ds.setUsername("root");
ds.setPassword("");
ds.setUrl("jdbc:mysql://localhsot/test");
return ds;
}
public ResultSet ExecuteSelect(String query) throws SQLException{
con = dataSource.getConnection();
stmt = con.createStatement();
ResultSet datenmenge;
datenmenge = stmt.executeQuery(query);
return datenmenge;
}
public void ExecuteUpdate(String query) throws SQLException{
con = dataSource.getConnection();
stmt = con.createStatement();
stmt.executeUpdate(query);
}
public void ExecuteDelete(String query) throws SQLException{
con = dataSource.getConnection();
stmt = con.createStatement();
stmt.executeUpdate(query);
}
public void ExecuteBatchUpdate(String query)throws SQLException{
con = dataSource.getConnection();
stmt = con.createStatement();
}
}
und mysql test.java
Code:
package verwaltung;
import java.sql.*;
import javax.swing.JFrame;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.table.DefaultTableModel;
public class MySqlTest
{
public static void main( String[] args ) throws SQLException, ClassNotFoundException
{
JTable table = new JTable();
String[] tblHead = {"RFID UID","Device Name","Device Type","Serial"};
SQLClass ctest1 = new SQLClass();
ctest1.ExecuteUpdate("INSERT INTO `test`.`devices`(`UID`, `Devive Name`, `Device Type`, `Serial`) VALUES (Null, 'Testinpuit22', 'PDA22', '13545123')");
ResultSet datenmenge;
datenmenge = ctest1.ExecuteSelect("Select * from devices");
UserVerwaltung u1 = new UserVerwaltung();
u1.EditUser(3, "blubb","blubb","adf");
u1.NewUser("tatta","tatat","www");
DefaultTableModel aModel = (DefaultTableModel) table.getModel();
aModel.setColumnIdentifiers(tblHead);
ResultSetMetaData rsmd = datenmenge.getMetaData();
int colNo = rsmd.getColumnCount();
while (datenmenge.next()) {
Object[] objects = new Object[colNo];
for (int i = 0; i < colNo; i++) {
objects[i] = datenmenge.getObject(i + 1);
}
aModel.addRow(objects);
}
JFrame f = new JFrame();
f.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );
table.setModel(aModel);
f.add(new JScrollPane(table));
f.pack();
f.setVisible( true );
}
}
nun bekomm ich aber folgenden fehler dass er den treiber net laden kann...
Exception in thread "main" org.apache.commons.dbcp.SQLNestedException: Cannot load JDBC driver class 'com.mysql.jdbc.Driver'
at org.apache.commons.dbcp.BasicDataSource.createDataSource(BasicDataSource.java:1136)
at org.apache.commons.dbcp.BasicDataSource.getConnection(BasicDataSource.java:880)
at verwaltung.SQLClass.ExecuteUpdate(SQLClass.java:50)
at verwaltung.MySqlTest.main(MySqlTest.java:31)
Caused by: java.lang.ClassNotFoundException: com/mysql/jdbc/Driver
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:169)
at org.apache.commons.dbcp.BasicDataSource.createDataSource(BasicDataSource.java:1130)
... 3 more
was könnte das sein?
thx for help