我在mac上,运行MySQL的MAMP实例。我正在尝试使用jdbc驱动程序将我的java代码连接到名为'test'的数据库,使用名为'customer'的表。我一直收到错误:
java.sql.SQLException: No suitable driver found for jdbc:mysql://localhost:8889/test
我不确定问题是否与我的代码有关,或者是否是MySQL的MAMP实例的配置问题,或者它是否完全不同。
我有一个初始化驱动程序方法:
public void initializeDriver(){
try{
Class.forName("com.mysql.jdbc.Driver");
}
catch(ClassNotFoundException e) {
System.err.println(e.toString());
}
}
我通过以下方式创建了一个连接:
public void insertCustomer(String connectionUrl, String connectionUser, String connectionPassword, Customer customer) {
try{
Connection conn = DriverManager.getConnection(connectionUrl, connectionUser, connectionPassword);
Statement constat = conn.createStatement();
String query = "INSERT INTO customers (customer_id, email, deliverable, create_date) VALUES (" + customer.id + ", " + customer.emailAddress + ", " + customer.deliverable + ", " + customer.createDate + ")" ;
constat.executeQuery(query);
conn.close();
}
catch(SQLException e){
System.out.println(e.toString());
}
}
我已经下载了mysql-connector-java-5.1.20并将其设置在我的类路径中。
如果有人对如何纠正此错误有任何建议,我将非常感激!
答案 0 :(得分:2)
您必须将MySQL jdbc connector jar库放入类路径中。
然后在使用以下代码打开连接之前初始化驱动程序:
Class.forName("com.mysql.jdbc.Driver").newInstance();
答案 1 :(得分:0)
您需要在类路径中使用相应的mysql JDBC驱动程序jar,或者由容器加载。请参阅doc for ConnectorJ并注意安装说明。
答案 2 :(得分:0)
尝试将 mysql-connector-java-5.1.20.jar 添加到Glassfish(或Tomcat) lib 文件夹。
答案 3 :(得分:0)
此行中也有错误
constat.executeQuery(query);
如果您想在数据库中插入一些数据,则必须使用此代码
constat.executeUpdate(query);