如何连接MYSQL和java
我已经安装了MYSQLSERVER 5.1。然后我安装了mysql-connector-java-3.0.8-stable-bin.jar,并将文件夹core设置为c:\core的驱动器c放入其中。然后在计算机的属性中,我创建了具有变量名CLASSPATH和变量值的用户变量:c:\core\mysql-connector-java-3.0.8-stable-bin.jar 现在我创建了数据库EMPLOYEE4 我的JAVA代码是:如何连接MYSQL和java,java,mysql,Java,Mysql,我已经安装了MYSQLSERVER 5.1。然后我安装了mysql-connector-java-3.0.8-stable-bin.jar,并将文件夹core设置为c:\core的驱动器c放入其中。然后在计算机的属性中,我创建了具有变量名CLASSPATH和变量值的用户变量:c:\core\mysql-connector-java-3.0.8-stable-bin.jar 现在我创建了数据库EMPLOYEE4 我的JAVA代码是: import java.sql.Connection; impo
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.logging.Level;
import java.util.logging.Logger;
class MySQLTest{
public static void main(String[] args) {
try {
Class.forName("com.mysql.jdbc.Driver");
Connection dbCon = DriverManager.getConnection(
"jdbc:mysql://localhost:3306/EMPLOYEE4", "root", "root");
String query ="select count(*) from EMPLOYEE4 ";
Statement stmt = null;
ResultSet rs = null;
//getting PreparedStatment to execute query
stmt = dbCon.prepareStatement(query);
//Resultset returned by query
rs = stmt.executeQuery(query);
while(rs.next()){
int count = rs.getInt(1);
System.out.println("count of stock : " + count);
}
} catch (Exception ex) {
ex.printStackTrace();
//Logger.getLogger(CollectionTest.class.getName()).log(Level.SEVERE, null, ex);
} finally{
//close connection ,stmt and resultset here
}
}
}
我得到一个错误
SQL Connection exceptionjava.sql.SQLException: Communication link failure: java.
io.IOException, underlying cause: Unexpected end of input stream
** BEGIN NESTED EXCEPTION **
java.io.IOException
MESSAGE: Unexpected end of input stream
STACKTRACE:
java.io.IOException: Unexpected end of input stream
at com.mysql.jdbc.MysqlIO.readPacket(MysqlIO.java:339 )
at com.mysql.jdbc.MysqlIO.doHandshake(MysqlIO.java:78 2)
at com.mysql.jdbc.Connection.createNewIO(Connection.j ava:1585)
at com.mysql.jdbc.Connection.<init>(Connection.java:5 24)
at com.mysql.jdbc.Driver.connect(Driver.java:359)
at java.sql.DriverManager.getConnection(DriverManager .java:512)
at java.sql.DriverManager.getConnection(DriverManager .java:193)
at DbHelper.getConnection(DbHelper.java:34)
at DbHelper.main(DbHelper.java:466)
** END NESTED EXCEPTION **
SQL连接异常java.SQL.SQLException:通信链路故障:java。
io.IOException,根本原因:输入流意外结束
**开始嵌套异常**
java.io.IOException
消息:输入流意外结束
堆栈跟踪:
java.io.IOException:输入流意外结束
位于com.mysql.jdbc.MysqlIO.readPacket(MysqlIO.java:339)
在com.mysql.jdbc.MysqlIO.doHandshake上(MysqlIO.java:782)
在com.mysql.jdbc.Connection.createNewIO(Connection.java:1585)
在com.mysql.jdbc.Connection.(Connection.java:524)
位于com.mysql.jdbc.Driver.connect(Driver.java:359)
位于java.sql.DriverManager.getConnection(DriverManager.java:512)
位于java.sql.DriverManager.getConnection(DriverManager.java:193)
位于DbHelper.getConnection(DbHelper.java:34)
位于DbHelper.main(DbHelper.java:466)
**结束嵌套异常**
这是:
java.io.IOException: Unexpected end of input stream
at com.mysql.jdbc.MysqlIO.readPacket(MysqlIO.java:339 )
at com.mysql.jdbc.MysqlIO.doHandshake(MysqlIO.java:78 2)
指示您正在通过类路径ok获取JDBC驱动程序(请参阅完全限定的包名)。您无法连接到数据库,我怀疑您的MySQL数据库没有运行,或者没有配置为接受该端口上的连接
你能连接到那个端口吗?(通过简单的telnet)或使用?shubham确认某个端口正在侦听。请检查前面发布的问题中的答案…不要发布重复项ID您检查数据库是否正在运行,我的意思是mysql服务已打开,有时会出现此问题,尝试使用命令promptYes在数据库中运行此查询我的查询正在运行。我只向您发送上一个问题,以包含您正在获取的stacktrace,而不是发布单独的问题。嘿,我得到了答案。我使用的是mysqlconnectorjava的5.1.2版本。我将其更改为5.0.8,效果很好。所有回复均为Thnx。