mysql连接错误

zr_dixuexiongying 2012-10-19 04:07:27
我在一个Demo工程里面用的是mysql数据库,可是我从页面玩数据库插入数据时报驱动的错误,很郁闷了,平时测试Hibernate也是用的这个驱动确是好的,报错信息如下:

信息: Detected AnnotationActionValidatorManager, initializing it...
java.sql.SQLException: No suitable driver found for root
at java.sql.DriverManager.getConnection(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)
at com.huizhi.database.DatabaseDAO.getConnection(DatabaseDAO.java:30)
at com.huizhi.user.dao.UsersDAO.findUsers(UsersDAO.java:22)
at com.huizhi.users.action.RegisterAction.register(RegisterAction.java:103)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at com.opensymphony.xwork2.DefaultActionInvocation.invokeAction(DefaultActionInvocation.java:404)
at com.opensymphony.xwork2.DefaultActionInvocation.invokeActionOnly(DefaultActionInvocation.java:267)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:229)
at com.opensymphony.xwork2.interceptor.DefaultWorkflowInterceptor.doIntercept(DefaultWorkflowInterceptor.java:221)
at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:86)
at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:224)
at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:223)
at com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(UtilTimerStack.java:455)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:221)
at com.opensymphony.xwork2.validator.ValidationInterceptor.doIntercept(ValidationInterceptor.java:150)
at org.apache.struts2.interceptor.validation.AnnotationValidationInterceptor.doIntercept(AnnotationValidationInterceptor.java:48)
at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:86)
at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:224)
at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:223)
at com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(UtilTimerStack.java:455)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:221)
at com.opensymphony.xwork2.interceptor.ConversionErrorInterceptor.intercept(ConversionErrorInterceptor.java:123)
at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:224)
at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:223)
at com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(UtilTimerStack.java:455)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:221)
at com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:167)
at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:86)
at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:224)
at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:223)
at com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(UtilTimerStack.java:455)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:221)
at com.opensymphony.xwork2.interceptor.StaticParametersInterceptor.intercept(StaticParametersInterceptor.java:105)
at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:224)
at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:223)
at com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(UtilTimerStack.java:455)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:221)
at org.apache.struts2.interceptor.CheckboxInterceptor.intercept(CheckboxInterceptor.java:83)
at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:224)
at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:223)
at com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(UtilTimerStack.java:455)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:221)
at org.apache.struts2.interceptor.FileUploadInterceptor.intercept(FileUploadInterceptor.java:207)
at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:224)
at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:223)
at com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(UtilTimerStack.java:455)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:221)
at com.opensymphony.xwork2.interceptor.ModelDrivenInterceptor.intercept(ModelDrivenInterceptor.java:74)
at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:224)
at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:223)
at com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(UtilTimerStack.java:455)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:221)
at com.opensymphony.xwork2.interceptor.ScopedModelDrivenInterceptor.intercept(ScopedModelDrivenInterceptor.java:127)
at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:224)
at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:223)
at com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(UtilTimerStack.java:455)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:221)
at org.apache.struts2.interceptor.ProfilingActivationInterceptor.intercept(ProfilingActivationInterceptor.java:107)
at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:224)
at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:223)
at com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(UtilTimerStack.java:455)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:221)
at org.apache.struts2.interceptor.debugging.DebuggingInterceptor.intercept(DebuggingInterceptor.java:206)
at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:224)
at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:223)
at com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(UtilTimerStack.java:455)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:221)
at com.opensymphony.xwork2.interceptor.ChainingInterceptor.intercept(ChainingInterceptor.java:115)
at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:224)
at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:223)
at com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(UtilTimerStack.java:455)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:221)
at com.opensymphony.xwork2.interceptor.I18nInterceptor.intercept(I18nInterceptor.java:143)
at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:224)
at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:223)
at com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(UtilTimerStack.java:455)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:221)
at com.opensymphony.xwork2.interceptor.PrepareInterceptor.doIntercept(PrepareInterceptor.java:121)
at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:86)
at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:224)
at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:223)
at com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(UtilTimerStack.java:455)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:221)
at org.apache.struts2.interceptor.ServletConfigInterceptor.intercept(ServletConfigInterceptor.java:170)
at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:224)
at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:223)
at com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(UtilTimerStack.java:455)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:221)
at com.opensymphony.xwork2.interceptor.AliasInterceptor.intercept(AliasInterceptor.java:123)
at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:224)
at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:223)







...全文
145 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
VS_2010 2012-10-24
  • 打赏
  • 举报
回复
[Quote=引用 13 楼 的回复:]

谢谢各位,问题已经解决,不是驱动的问题,而是连接的问题,里面连接的参数写错了

Connection conn = DriverManager.getConnection(string str1,String str2,String str3);

str1的参数应该是url
str2的参数应该是name
str3的参数应该是password ,我是顺序写错了
[/Quote]
楼主你是个淫才啊~~
AngelWings 2012-10-23
  • 打赏
  • 举报
回复

str1,str2,str3.........这种定义说明问题很严重啊!
zr_dixuexiongying 2012-10-23
  • 打赏
  • 举报
回复
谢谢各位,问题已经解决,不是驱动的问题,而是连接的问题,里面连接的参数写错了

Connection conn = DriverManager.getConnection(string str1,String str2,String str3);

str1的参数应该是url
str2的参数应该是name
str3的参数应该是password ,我是顺序写错了
微风飘过 2012-10-22
  • 打赏
  • 举报
回复
驱动问题,换个驱动包试试
zr_dixuexiongying 2012-10-22
  • 打赏
  • 举报
回复
这个没有用hibernate和spring,用的是原来的JDBC连接,它是报的驱动错误,可是为什么用hibernate的配置又的正确的
zr_dixuexiongying 2012-10-22
  • 打赏
  • 举报
回复
这个是驱动连接类:


package com.huizhi.database;

import java.sql.Connection;


import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;


public class DatabaseDAO {
private static Connection conn;
private static final String DRIVER = "com.mysql.jdbc.Driver";
private static final String URL = "jdbc:mysql://localhost:3306/reg";
private static final String USERNAME = "root";
private static final String PASSWORD = "root";

//类似单例模式,加载一次即可获取驱动
static{
try{
Class.forName(DRIVER);
}catch(ClassNotFoundException e){
e.printStackTrace();
}
}

//获取数据库连接
public static Connection getConnection(){
try{
conn = DriverManager.getConnection(USERNAME,PASSWORD,URL);
}catch(SQLException ex){
ex.printStackTrace();
}
return conn;
}

//关闭Connection
public static void closeCon(Connection conn){
try{
if(conn!=null) conn.close();
}catch(SQLException ex){ex.printStackTrace();}
}

//关闭PreparedStatement
public static void closePt(PreparedStatement pt){
try{
if(pt!=null) pt.close();
}catch(SQLException ex){ex.printStackTrace();}
}

//关闭ResultSet
public static void closeRs(ResultSet rs){
try{
if(rs!=null) rs.close();
}catch(SQLException ex){ex.printStackTrace();}
}

}
zr_dixuexiongying 2012-10-22
  • 打赏
  • 举报
回复
这个是UserDAO类:


package com.huizhi.user.dao;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;

import com.huizhi.database.DatabaseDAO;
import com.huizhi.vo.Users;

public class UsersDAO {
private Connection conn;
private PreparedStatement ps;
private ResultSet rs;

//查找用户名是否存在
public boolean findUsers(String username){
boolean flag = false;
//获取数据库连接
conn = DatabaseDAO.getConnection();
try{
ps =
conn.prepareStatement("select * from users where username=?");
ps.setString(1, username);
rs = ps.executeQuery();
if(rs.next()){
flag = true;
}

}catch(SQLException ex)
{ex.printStackTrace();
}finally{
DatabaseDAO.closeRs(rs);
DatabaseDAO.closePt(ps);
DatabaseDAO.closeCon(conn);
}
return flag;
}

public int save(Users users){
int i = 0;
conn = DatabaseDAO.getConnection();
try{
ps = conn.prepareStatement("insert into users(username,password," +
"name,nic,sex,age,email,phone,selfshow)"
+ "values(?,?,?,?,?,?,?,?,?)");
ps.setString(1, users.getUsername());
ps.setString(2, users.getPassword());
ps.setString(3, users.getName());
ps.setString(4, users.getNic());
ps.setString(5, users.getSex());
ps.setInt(6, users.getAge());
ps.setString(7, users.getEmail());
ps.setString(8, users.getPhone());
ps.setString(9, users.getSelfshow());
i = ps.executeUpdate();
}catch(SQLException ex){
ex.printStackTrace();
}finally{
DatabaseDAO.closePt(ps);
DatabaseDAO.closeCon(conn);

}
return i;
}

public boolean login(Users users){
boolean flag = false;
conn = DatabaseDAO.getConnection();
try{
ps = conn.prepareStatement
("select * from users where username=? and password=?");

ps.setString(1, users.getUsername());
ps.setString(2, users.getPassword());
rs = ps.executeQuery();

if(rs.next()){
flag = true;
}

}catch(SQLException ex){
ex.printStackTrace();
}finally{
DatabaseDAO.closeRs(rs);
DatabaseDAO.closePt(ps);
DatabaseDAO.closeCon(conn);
}
return flag;
}

public List<Users> finaAllUser(){
List<Users> list = new ArrayList<Users>();
conn = DatabaseDAO.getConnection();
try{
ps = conn.prepareStatement("select * from users");
rs = ps.executeQuery();
while(rs.next()){
Users users = new Users();
users.setId(rs.getInt(1));
users.setUsername(rs.getString(2));
users.setPassword(rs.getString(3));
users.setName(rs.getString(4));
users.setNic(rs.getString(5));
users.setSex(rs.getString(6));
users.setAge(rs.getInt(7));
users.setEmail(rs.getString(8));
users.setPhone(rs.getString(9));
users.setSelfshow(rs.getString(10));
list.add(users);
}
}catch(SQLException ex){
ex.printStackTrace();
}finally{
DatabaseDAO.closeRs(rs);
DatabaseDAO.closePt(ps);
DatabaseDAO.closeCon(conn);
}
return list;
}

public Users selectInfo(String username){
Users users = new Users();
conn = DatabaseDAO.getConnection();
try{
ps = conn.prepareStatement("select * from users where username = ?");
ps.setString(1, username);
rs = ps.executeQuery();
while(rs.next()){
users.setId(rs.getInt(1));
users.setUsername(rs.getString(2));
users.setPassword(rs.getString(3));
users.setName(rs.getString(4));
users.setNic(rs.getString(5));
users.setSex(rs.getString(6));
users.setAge(rs.getInt(7));
users.setEmail(rs.getString(8));
users.setPhone(rs.getString(9));
users.setSelfshow(rs.getString(10));
}
}catch(SQLException ex){
ex.printStackTrace();
}finally{
DatabaseDAO.closeRs(rs);
DatabaseDAO.closePt(ps);
DatabaseDAO.closeCon(conn);
}
return users;
}

public int update(Users users){
int i = 0;
conn = DatabaseDAO.getConnection();
try
{
ps = conn.prepareStatement("update users set password=?,name=?," +
"nic=?,sex=?,age=?,email=?,phone=?,selfshow=?," +
"where username = ? and id=?");
ps.setString(1, users.getPassword());
ps.setString(2, users.getName());
ps.setString(3, users.getNic());
ps.setString(4, users.getSex());
ps.setInt(5, users.getAge());
ps.setString(6, users.getEmail());
ps.setString(7, users.getPhone());
ps.setString(8, users.getSelfshow());
ps.setString(9, users.getUsername());
ps.setInt(10, users.getId());
i = ps.executeUpdate();
}catch(SQLException ex){
ex.printStackTrace();
}finally{
DatabaseDAO.closePt(ps);
DatabaseDAO.closeCon(conn);
}
return i;
}

//删除用户
public boolean deleteUser(int id){
boolean flag = false;
conn = DatabaseDAO.getConnection();
try{
ps = conn.prepareStatement("delete from users where id=?");
ps.setInt(1, id);
int i = ps.executeUpdate();
if(i>0){
flag = true;
}

}catch(SQLException ex){
ex.printStackTrace();
}finally{
DatabaseDAO.closePt(ps);
DatabaseDAO.closeCon(conn);
}
return flag;
}

public List<Users> newUser(){
List<Users> list = new ArrayList<Users>();
conn = DatabaseDAO.getConnection();
try
{
ps = conn.prepareStatement("select * from users order by id desc limit 0,8");
rs = ps.executeQuery();
while(rs.next()){
Users users = new Users();
users.setId(rs.getInt(1));
users.setUsername(rs.getString(2));
users.setPassword(rs.getString(3));
users.setName(rs.getString(4));
users.setNic(rs.getString(5));
users.setSex(rs.getString(6));
users.setAge(rs.getInt(7));
users.setEmail(rs.getString(8));
users.setPhone(rs.getString(9));
users.setSelfshow(rs.getString(10));
list.add(users);
}
}catch(SQLException ex){
ex.printStackTrace();
}finally{
DatabaseDAO.closeRs(rs);
DatabaseDAO.closePt(ps);
DatabaseDAO.closeCon(conn);
}
return list;
}

}
Corolla 2012-10-20
  • 打赏
  • 举报
回复
1. web项目把mysql的jar放在WEB-INF中的lib里面,驱动包没有找到。
2. 检查你的配置文件,hibernate的配置文件,一般都是自己不小心配错了很多的
3.spring配置文件和hibernate配置文件贴出来看看!
yusigakdawn 2012-10-20
  • 打赏
  • 举报
回复
这个问题一般就只有两种类型 要么是jar驱动路径没对 要么是MySQL没启动
焙焙龙 2012-10-19
  • 打赏
  • 举报
回复
url错写成了root
No suitable driver found for root
这句话已经表明了
renxianzuo 2012-10-19
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 的回复:]

java.sql.SQLException: No suitable driver found for root
引用数据库驱动包了吗?如果引用了的话,是怎么引用的?需要复制包,然后打开项目,粘贴在lib目录下。
[/Quote]

UP
senlinzhiwang 2012-10-19
  • 打赏
  • 举报
回复
java.sql.SQLException: No suitable driver found for root
引用数据库驱动包了吗?如果引用了的话,是怎么引用的?需要复制包,然后打开项目,粘贴在lib目录下。
wizabone 2012-10-19
  • 打赏
  • 举报
回复
驱动问题啊
VS_2010 2012-10-19
  • 打赏
  • 举报
回复
是不是工程里没有把MySQL驱动Jar包引进来啊?

如果不是建议把工程里使用MySQL的连接发出来看一下,这个异常只知道是找不到驱动,看不出什么原因.
a8509190 2012-10-19
  • 打赏
  • 举报
回复
没有合适的驱动 你驱动包正确么?

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧