我正在练习一个简单的注册程序。为此,我需要连接到数据库。我尝试了其他事情,但没有解决
我正在使用Xampp和MySQL Workbench。我没有设置任何密码或用户名。在MySQL Workbench上它说: 连接: 名称:演示 主持人:127.0.0.1 端口:3306 服务器:mariadb.org二进制分发 版本:10.1.37-MariaDB 连接器:C ++ 8.0.14 登录用户:root 当前用户:root @ localhost SSL:已禁用
import java.sql.*;
public class Driver {
public static void main(String[] args) {
try {
// 1. Get connection to the database
// Connection myConnection = DriverManager.getConnection("jdbc:mysql://localhost:3306/demo", "student", "student");
//Connection myConnection = DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/demo");
String url = "jdbc:mysql://127.0.0.1:3306/mysql";
Connection myConnection = DriverManager.getConnection(url);
//2. Create a statement
Statement myStatement = myConnection.createStatement();
//3. execute sql query
ResultSet myResultSet = myStatement.executeQuery("SELECT * FROM students");
//4. process the result set
while(myResultSet.next()) {
System.out.println(myResultSet.getString("lname") + ", " + myResultSet.getString("fname"));
}
}
catch (Exception e) {
e.printStackTrace();
}
}
}
java.sql.SQLSyntaxErrorException: Access denied for user ''@'localhost' to database 'mysql'
at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:120)
at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:97)
at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122)
at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:827)
at com.mysql.cj.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:447)
at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:237)
at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:199)
at java.sql.DriverManager.getConnection(DriverManager.java:664)
at java.sql.DriverManager.getConnection(DriverManager.java:270)
at jdbcdemo.Driver.main(Driver.java:14)
答案 0 :(得分:2)
这个答案是推测性的,因为我实际上还没有针对MySQL进行过测试,但这是您目前使用的方法遇到的两个问题:
root
)。DriverManager.getConnection
的三个参数变体,该变体接受JDBC URL,用户名(默认)和密码(空)。您的情况)。将所有内容放在一起,您可以尝试:
String url = "jdbc:mysql://127.0.0.1:3306/mysql";
Connection myConnection = DriverManager.getConnection(url, "root", "");
然后,假设上述方法有效,请尝试使用您的连接。
答案 1 :(得分:0)
连接URL的格式如下:
<page size="A4"> INVOICE DATA which comes more or less than A4 size </page>