tomcat部署jdbc报错,测试类可以通过(找不到url路径)

测试类成功通过

网页报错

Connection对象创建失败

No suitable driver found for jdbc:mysql://localhost:3306/bjpowernode

JDBC

public class JdbcUtil {

    private  Connection con = null;//类文件属性,可以在类文件中所有的方法中使用
    private  PreparedStatement ps=null;//类文件属性,可以在类文件中所有的方法中使用

    //静态语句块 static{}
    //在当前类文件第一次被加载到JVM时,JVM将会自动调用当前类文件静态语句块
    static{
        //1.注册数据库服务器提供的Driver接口实现类

        try {
            Class.forName("com.mysql.jdbc.Driver");
        } catch (ClassNotFoundException e) {
            e.printStackTrace();
        }

        System.out.println("Driver接口实现类被注册了");
    }

    //封装Connection对象创建细节 不需要考虑使用对象创建细节
    public  Connection  createCon(){
        try {
            con = DriverManager.getConnection("jdbc:mysql://localhost:3306/bjpowernode", "root", "985432");
        } catch (SQLException e) {
            e.printStackTrace();
            System.out.println("Connection对象创建失败。。。。。");
        }
        return con;
    }

    //封装PreparedStatement对象创建细节
    public PreparedStatement createStatement(String sql){

//        Connection con = createCon();
        try {
            ps = createCon().prepareStatement(sql);
        } catch (SQLException e) {
            e.printStackTrace();
        }
        return ps;
    }

    //封装PreparedStatement对象与Connection对象销毁细节
    public void close(){
        if(ps!=null){
            try {
                ps.close();
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }
        if(con!=null){
            try {
                con.close();
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }
    }
    //封装PreparedStatement对象与Connection对象与ResultSet对象销毁细节
    public void close(ResultSet rs){
        if(rs!=null){
            try {
                rs.close();
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }
        close();

    }

}

 

问题解决了,代码没有问题,把jdbc驱动放在tomcat下的lib里面重启就ok了

jdbc:mysql://localhost:3306/bjpowernode,这个连接字符串有问题。用这个试试。

jdbc:mysql://localhost:3306/bjpowernode?allowMultiQueries=true&useUnicode=true&characterEncoding=UTF-8&useSSL=false

 

你用的是什么版本的JAR包,mysql是什么版本。

你测试类传的是参数,你实现类传的是个user对象,怎么不会报错

您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~

如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~

ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632

非常感谢您使用有问必答服务,为了后续更快速的帮您解决问题,现诚邀您参与有问必答体验反馈。您的建议将会运用到我们的产品优化中,希望能得到您的支持与协助!

速戳参与调研>>>https://t.csdnimg.cn/Kf0y