java.sql.SQLException: No suitable driver found for jdbc可能问题之一

在一次实验课中需要使用传统的JDBC做数据库实验,发现同一段代码通过普通的Java类测试可以添加到数据库,但是使用 tomcat 的时候却报错 找不到适用于jdbc的驱动程序 :

java.sql.SQLException: No suitable driver found for jdbc可能问题之一_第1张图片

 

通过上网查找没有找到合适的答案,特此记录解决方案(困扰了很久)

使用的是Maven环境,数据库的链接坐标也导入了,源代码如下:

        try {
            //1、获取数据库连接对象
            Connection connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/study", "root", "525658");
            //2、定义MySQL语句
            String sql = "insert into user values('zhsangsna','lisi')";
            //3、获取mysql对象的 Statement
            Statement statement = statement = connection.createStatement();
            //4、执行mysql语句
            int rows = statement.executeUpdate(sql);
            //5、释放资源
            statement.close();
            connection.close();
        } catch (Exception e) {
            throw new RuntimeException(e);
        }

通过测试类运行代码可以添加数据到数据库:

但是通过 tomcat 启动访问会报异常:java.sql.SQLException: No suitable driver found for jdbc:mysql:

    public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException {
        try {
            //1、获取数据库连接对象
            Connection connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/study", "root", "525658");
            //2、定义MySQL语句
            String sql = "insert into user values('zhsangsna','lisi')";
            //3、获取mysql对象的 Statement
            Statement statement = statement = connection.createStatement();
            //4、执行mysql语句
            int rows = statement.executeUpdate(sql);
            //5、释放资源
            statement.close();
            connection.close();
        } catch (Exception e) {
            throw new RuntimeException(e);
        }
    }

最后出题关键:是没有注册Mysql驱动

加上注册驱动的代码后便可成功通过网页操作数据库 

Class.forName("com.mysql.jdbc.Driver");
public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException {
        try {
            //1、导入jar包到项目
            
            //2、注册驱动
            //经验所得:在Mevan Tomcat项目中,需要注册驱动,不然会报错。但是在普通的idea Java项目中不需要注册驱动,否则报错
            
            Class.forName("com.mysql.jdbc.Driver");
            
            //3、获取数据库连接对象
            Connection connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/study", "root", "525658");
            
            //4、定义MySQL语句
            String sql = "insert into user values('zhsangsna','lisi')";
            
            //5、获取mysql对象的 Statement
            Statement statement = statement = connection.createStatement();
            
            //6、执行mysql语句
            int rows = statement.executeUpdate(sql);
            //8、释放资源
            statement.close();
            connection.close();
        } catch (Exception e) {
            throw new RuntimeException(e);
        }
    }

总结:

在Mevan Tomcat项目中,需要注册驱动,不然会报错。但是在普通的idea Java项目中不需要注册驱动,否则报错

你可能感兴趣的:(菜鸡成长记,tomcat,java,servlet)