package javaapplication1;
import java.sql.*;
public class JavaApplication1{
public static void main(String[] args) {
System.out.println("MySQL Connect Example.");
Connection conn = null;
String url = "jdbc:mysql://localhost:3306/TEST/ANKUR1";
String dbName = "jdbctutorial";
String driver = "com.mysql.jdbc.Driver";
String userName = "root";
String password = "root";
try {
Class.forName(driver).newInstance();
conn = DriverManager.getConnection("TEST1/ANKUR","root","school");
System.out.println("Connected to the database");
conn.close();
System.out.println("Disconnected from database");
} catch (Exception e) {
System.out.println(e);
}
}
}
我在我的机器上安装了MySQL 5.5,并将Java-connector.jar文件复制到所需的文件夹中。我的数据库是test1,表格是ankur。请参阅我使用此代码来检查与NetBeans 7的连接。有任何建议吗?
答案 0 :(得分:0)
您在getConnection(...)
中实际使用的网址是错误的。您不应该只输入要使用的表的名称。您需要有一个完整的URL,以便JDBC系统知道它应该使用mysql驱动程序以及mysql驱动程序需要连接的位置。
重新检查您复制的示例,并查看他们使用“url”变量的位置。
答案 1 :(得分:0)
使用MySQL Connector / J驱动程序时JDBC URL format为:
JDBC:MySQL的:// [主机] [,... failoverhost]:[?propertyName1] [端口] / [数据库] [= propertyValue1] [&安培; propertyName2] [= propertyValue2] ...
因此,您的案例中应使用的实际URL应该是(如果数据库安装在本地计算机上,名称为TEST并且侦听默认的MySQL端口3306):
JDBC:MySQL的://本地主机:3306 / TEST
而不是以下。
TEST / ANKUR1
请记住,DriverManager
类使用JDBC URL来确定应该使用哪个驱动程序连接到数据库,以及数据库所在的位置。一个不连接到JDBC中的表;相反,一个连接到数据库(或模式),然后发出针对表的SELECT查询。因此,您的方法如下:
conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/TEST","root","school");
System.out.println("Connected to the database");
PreparedStatement pStmt = conn.prepareStatement("SELECT * FROM ANKUR");
ResultSet rs = pStmt.executeQuery();
...
//Process the contents of the ResultSet
...
rs.close();
pStmt.close();
conn.close();
应该注意,最好关闭finally块中的ResultSet
,PreparedStatement
和Connection
个对象。