【发布时间】:2021-05-18 11:43:33
【问题描述】:
我正在使用 jdbc mysql 连接器将我的 android studio 项目与 XAMPP 连接。 在我编译我的程序并继续在我的应用程序中填写信息后,我单击按钮并引发此错误。
java.sql.SQLException: No suitable driver found for jdbc:mysql://localhost:3306/mydatabase
W/System.err: at java.sql.DriverManager.getConnection(DriverManager.java:605)
at java.sql.DriverManager.getConnection(DriverManager.java:218)
at com.example.myproject.views.CartFragment$3.onClick(CartFragment.java:132)
at android.view.View.performClick(View.java:7448)
at com.google.android.material.button.MaterialButton.performClick(MaterialButton.java:992)
这是我的数据库连接的实现。 我已经成功地将我的 app/libs 目录中的 .jar jdbc 连接器实现为库模块。 是的,我已经尝试过 Class.forName("com.mysql.jdbc.Driver") 但它又抛出了另一个错误,所以这不是一个选项。我读到在 JAVA 5 之后不需要调用 Class.forName。
最初我使用了 Connection, Statement,但它抛出了与我使用 JdbcConnection 和 JdbcStatement 时相同的错误。
try {
String url = "jdbc:mysql://localhost:3306/mydatabase";
String username = "root";
String password = "";
JdbcConnection con = (JdbcConnection) DriverManager.getConnection(url,username,password);
JdbcStatement st = (JdbcStatement) con.createStatement();
st.addBatch(query);
st.addBatch(query2);
st.executeBatch();
}
catch (SQLException throwables) {
throwables.printStackTrace();
}
对我的 build.gradle 的依赖:
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation files('libs/mysql-connector-java-8.0.23')
【问题讨论】:
-
您必须先加载驱动程序才能启动与数据库
Class.forName("com.mysql.jdbc.Driver");的连接 -
@PAndeyAmit 现在是 2020 年。在这一点上,大约 20 年都不需要这个了。请停止建议。问题不在于。这个问题连说丹尼斯都试过了。