import java.sql.*;
public class Connet {
public static void main(String[] args) {
String Driver="com.mysql.jdbc.Driver";
String url="jdbc:mysql://localhost:3306/library";
String user="root";
String password="123456";
Statement stmt; ResultSet res;
try
{
Class.forName(Driver);
}
catch(Exception e)
{
System.out.println("无法加载驱动程序"+Driver);
}
try
{
Connection con=DriverManager.getConnection(url,user,password);
stmt=con.createStatement();
res=stmt.executeQuery("select * from books");
while(res.next())
{
String name=res.getString("name");
System.out.println(name);
}
res.close();
}
catch(SQLException ee)
{
System.out.println("连接失败");
}
}
}我已经加载了Mysql的驱动包,并且系统也没报错,就是显示“连接失败”,无法显示要查询的内容。这是为什么呢?用的是Myeclipse6.0.1版本的。
解决方案 »
- mysql时间格式问题
- 如何将tomcat的temp中的文件删除
- 关于输出的疑问
- apache-cxf-2.1.3自带例子callback的basic_callback.wsdl在myeclipse 6.5工具中报错,请问如何解决?
- 求助啊:我在WEB.xml中配置的servlet需要传配置文件的相对路径,老是出错啊?
- 做过短信采集系统的请进!!!!急~~~~
- 我的程序为什么不能编译通过?各位大侠帮帮忙啊!
- DOMParser开放源代码是不是已经没用啦???怎么会出现java.lang.VerifyError???
- JAVA初学者,请大侠指点!
- 在jbuilder 中 不能通过 创建Ejb Tester对EntityBean进行测试吗?SessionBean都可以的
- Action 关于数据库的操作
- oracle tomcat6.0 连接池问题 急
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
at com.mysql.jdbc.Util.handleNewInstance(Util.java:406)
at com.mysql.jdbc.SQLError.createCommunicationsException(SQLError.java:1074)
at com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2214)
at com.mysql.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:773)
at com.mysql.jdbc.JDBC4Connection.<init>(JDBC4Connection.java:46)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
at com.mysql.jdbc.Util.handleNewInstance(Util.java:406)
at com.mysql.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:352)
at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:282)
at java.sql.DriverManager.getConnection(DriverManager.java:582)
at java.sql.DriverManager.getConnection(DriverManager.java:185)
at Connet.main(Connet.java:21)
Caused by: com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failureThe last packet successfully received from the server was 1,252,329,813,046 milliseconds ago. The last packet sent successfully to the server was 0 milliseconds ago.
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
at com.mysql.jdbc.Util.handleNewInstance(Util.java:406)
at com.mysql.jdbc.SQLError.createCommunicationsException(SQLError.java:1074)
at com.mysql.jdbc.MysqlIO.<init>(MysqlIO.java:341)
at com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2137)
... 12 more
Caused by: java.net.ConnectException: Connection refused: connect
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:333)
at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:195)
at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:182)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:366)
at java.net.Socket.connect(Socket.java:519)
at java.net.Socket.connect(Socket.java:469)
at java.net.Socket.<init>(Socket.java:366)
at java.net.Socket.<init>(Socket.java:209)
at com.mysql.jdbc.StandardSocketFactory.connect(StandardSocketFactory.java:253)
at com.mysql.jdbc.MysqlIO.<init>(MysqlIO.java:290)
... 13 more
String Driver="com.mysql.jdbc.Driver";
改成
String Driver="org.gjt.mm.mysql.Driver";试试。第二:
你用的windows系统吗,要在防火墙设置里加一个例外:为3306端口加一个例外。
* 创建日期 2007-7-25
*
* TODO 要更改此生成的文件的模板,请转至
* 窗口 - 首选项 - Java - 代码样式 - 代码模板
*/
package sql;
/**
* @author
*
* TODO 要更改此生成的类型注释的模板,请转至 窗口 - 首选项 - Java - 代码样式 - 代码模板
*/
import java.sql.*;/**
* @author
*/
public class SqlS { private PreparedStatement prepstmt; private ResultSet rs; private Connection conn;// String userName="game";
//
//// 密码
//
// String userPasswd="ejoygame";
String userName="root";// 密码 String userPasswd="111";
// 数据库名 String dbName="game";// 表名 String tableName="biao"; private SqlS(String sql) {
try {
// 联结字符串 String url="jdbc:mysql://localhost/"+dbName+"?user="+userName+"&password="+userPasswd+"&useUnicode="+true+"&characterEncoding=UTF-8"; Class.forName("com.mysql.jdbc.Driver").newInstance();
// String dbUrl =
// "jdbc:jtds:sqlserver://localhost:1433/j2eeone;user=sa;password=caicaibao";
conn = DriverManager.getConnection(url);
prepstmt = conn.prepareStatement(sql,
ResultSet.TYPE_SCROLL_INSENSITIVE,
ResultSet.CONCUR_READ_ONLY); } catch (Exception e) {
System.out.println("SqlS(String): " + e.toString());
}
} /**
* 用静态工厂方法代替构造函数
*
* @param sql
* 需要运行的sql语句
* @return Sql Server类,用于封装连接数据库的方法。
*/
public static SqlS getInstance(String sql) {
SqlS sqlS = new SqlS(sql);
if (sqlS == null) {
System.out.println("申请不到连接了,产生了一个空连接");
}
return sqlS;
} /**
* 运行sql语句,常用于select语句
*
* @return 查询的结果集
*/
public ResultSet executeQuery() { try {
rs = prepstmt.executeQuery();
} catch (SQLException e) {
System.out.println("executeQuery(): " + e.toString());
}
return rs;
} /**
* 运行sql语句,常用于update,delete语句,无返回值
*/
public int executeUpdate() {
int row = -1;
try {
row = prepstmt.executeUpdate();
} catch (SQLException e) {
System.out.println("executeUpdate(): " + e.toString());
}
return row;
} /**
* 调用prepareStatement的setInt方法
*
* @param index
* 索引
* @param value
* 值
*/
public void setInt(int index, int value) {
try {
prepstmt.setInt(index, value);
} catch (SQLException e) {
System.out.println("setInt(int, int): " + e.toString());
}
} /**
* 调用prepareStatement的setLong方法
*
* @param index
* 索引
* @param value
* 值
*/
public void setLong(int index, long value) {
try {
prepstmt.setLong(index, value);
} catch (SQLException e) {
System.out.println("setLong(long, int): " + e.toString());
}
} /**
* 调用prepareStatement的setString方法
*
* @param index
* 索引
* @param value
* 值
*/
public void setString(int index, String value) {
try {
prepstmt.setString(index, value);
} catch (SQLException e) {
System.out.println("setString(int, String): " + e.toString());
}
} /**
* 调用prepareStatement的setString方法
*
* @param index
* 索引
* @param value
* 值
*/
public void setDate(int index, java.sql.Date value) {
try {
prepstmt.setDate(index, value);
} catch (SQLException e) {
System.out.println("setDate(int, Date): " + e.toString());
}
} /**
* 同stmt.setTimestamp(int i,Timestamp j)
*
* @param index
* 索引
* @param value
* 值
*/
public void setTimestamp(int index, java.sql.Timestamp value) {
try {
prepstmt.setTimestamp(index, value);
} catch (SQLException e) {
System.out.println("setTimestamp(int, java.sql.Timestamp): "
+ e.toString());
}
} public void close() {
try {
if (rs != null) {
rs.close();
}
if (prepstmt != null) {
prepstmt.close();
}
if (conn != null) {
conn.close();
// dbm.returnConnection(conn);
}
} catch (SQLException e) {
System.out.println("close(): " + e.toString());
}
} public static void main(String[] args) {
int addtime = 0;
String sql = "SELECT * FROM user";
System.out.println(sql);
SqlS sqlS = SqlS.getInstance(sql);
try {
ResultSet rs = sqlS.executeQuery();
while (rs.next()) { addtime = rs.getInt(1);
System.out.println(rs.getInt(1));
System.out.println(rs.getString(2));
}
} catch (Exception e) {
e.printStackTrace();
} finally { sqlS.close();
}
// boolean b = false;
// String updateSql = "update biao set name='fffffff' where id=2";
//
// SqlS sqlS1 = SqlS.getInstance(updateSql);
//
// try {
// int i=sqlS1.executeUpdate();
// if (i==1) {
// b=true;
// }
// } catch (Exception e) {
// e.printStackTrace();
// } finally {
// sqlS1.close();
// }
}
}
还有就是。MySQL 权限问题。。