java连接不上mysql,java.sql.DriverManager; 5
packageweb;importjava.sql.Connection;importjava.sql.DriverManager;importjava.sql.Prep...
package web;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import com.mysql.jdbc.ResultSet;
//对数据库的管理
public class DButil {
public static Connection getConnection() {
String driver = "com.mysql.jdbc.Driver";
// 连接数据库(ab是数据库名)
String url = "jdbc:mysql://localhost:3306/ab";
String name = "";
String pwd = "";
try {
Class.forName(driver).newInstance();
Connection connection =
DriverManager.getConnection(url, name, pwd);
System.out.println("注册成功");
return connection;
} catch (ClassNotFoundException e) {
e.printStackTrace();
return null;
} catch (SQLException e) {
e.printStackTrace();
return null;
}catch (Exception e) {
e.printStackTrace();
return null;
}
}
public static void closeAll(Connection conn,
PreparedStatement ps,ResultSet rs) {
try {
if (rs != null) {
rs.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
try {
if (ps != null) {
ps.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
try {
if (rs != null) {
rs.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
}
public static void main(String[] args) {
getConnection();
}
}
运行报错:
java.sql.SQLException: Communication link failure: Bad handshake
at com.mysql.jdbc.MysqlIO.doHandshake(MysqlIO.java:659)
。。。。
还有几个异常传不上来 展开
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import com.mysql.jdbc.ResultSet;
//对数据库的管理
public class DButil {
public static Connection getConnection() {
String driver = "com.mysql.jdbc.Driver";
// 连接数据库(ab是数据库名)
String url = "jdbc:mysql://localhost:3306/ab";
String name = "";
String pwd = "";
try {
Class.forName(driver).newInstance();
Connection connection =
DriverManager.getConnection(url, name, pwd);
System.out.println("注册成功");
return connection;
} catch (ClassNotFoundException e) {
e.printStackTrace();
return null;
} catch (SQLException e) {
e.printStackTrace();
return null;
}catch (Exception e) {
e.printStackTrace();
return null;
}
}
public static void closeAll(Connection conn,
PreparedStatement ps,ResultSet rs) {
try {
if (rs != null) {
rs.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
try {
if (ps != null) {
ps.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
try {
if (rs != null) {
rs.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
}
public static void main(String[] args) {
getConnection();
}
}
运行报错:
java.sql.SQLException: Communication link failure: Bad handshake
at com.mysql.jdbc.MysqlIO.doHandshake(MysqlIO.java:659)
。。。。
还有几个异常传不上来 展开
3个回答
2014-04-09
展开全部
首先:
确认用户名正确
确认密码正确
确认密码长度大于 6 位
确认服务可以使用
然后:
将 \WEB-INF\lib目录下的 connnector 升级到和现在的数据库匹配
最后:
检查Server(例如:tomcat)下的lib中的connnector 是否与现在的数据库匹配,更新之
确认用户名正确
确认密码正确
确认密码长度大于 6 位
确认服务可以使用
然后:
将 \WEB-INF\lib目录下的 connnector 升级到和现在的数据库匹配
最后:
检查Server(例如:tomcat)下的lib中的connnector 是否与现在的数据库匹配,更新之
更多追问追答
追问
我的数据库没有设置用户名和密码哦
为什么密码长度要大于6位?
追答
一般出现在驱动3.1.0和MySQL windows1.4版配合使用的情况下
换成3.1.6的或别的版本
要是不行你把你数据库上传。我把你程序测试一下吧!@!
展开全部
你数据库没有用户名 密码?试试下面的代码
String userName = "oa";
String userPassword = "oa";
String url = "jdbc:mysql://localhost:3306/oa?useUnicode=true&characterEncoding=utf8";
Class.forName("com.mysql.jdbc.Driver");
conn = DriverManager.getConnection(url, userName, userPassword);
String userName = "oa";
String userPassword = "oa";
String url = "jdbc:mysql://localhost:3306/oa?useUnicode=true&characterEncoding=utf8";
Class.forName("com.mysql.jdbc.Driver");
conn = DriverManager.getConnection(url, userName, userPassword);
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你的用户名和密码没写?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询