JavaWeb-jdbc的mysql驱动问题

jdbc的mysql驱动问题

问题描述:mysql驱动在服务器运行时显示找不到类,在程序运行时正常。

解决办法:主要是驱动没有放对目录,将mysql驱动放到WEB-INF/lib目录下就能正常访问了

添加为库

报错信息

java.lang.RuntimeException: java.lang.ClassNotFoundException: com.mysql.jdbc.Driver

示例代码

程序
java 复制代码
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

public class JdbcExample {
    public static void main(String[] args) throws ClassNotFoundException {
        Class.forName("com.mysql.jdbc.Driver");
        // 数据库连接信息
        String url = "jdbc:mysql://ip:端口/数据库名?useSSL=false";
        String username = "用户名";
        String password = "密码";

        // JDBC对象
        Connection connection = null;
        Statement statement = null;
        ResultSet resultSet = null;

        try {
            // 连接数据库
            connection = DriverManager.getConnection(url, username, password);

            // 创建Statement对象
            statement = connection.createStatement();

            // 执行查询语句
            String query = "SELECT * FROM users";
            resultSet = statement.executeQuery(query);

            // 处理查询结果
            while (resultSet.next()) {
                int id = resultSet.getInt("id");
                String name = resultSet.getString("name");
                String email = resultSet.getString("age");

                System.out.println("ID: " + id);
                System.out.println("Name: " + name);
                System.out.println("age: " + email);
                System.out.println("----------------------");
            }
        } catch (SQLException e) {
            e.printStackTrace();
        } finally {
            // 关闭资源
            try {
                if (resultSet != null) {
                    resultSet.close();
                }
                if (statement != null) {
                    statement.close();
                }
                if (connection != null) {
                    connection.close();
                }
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }
    }
}
服务器
java 复制代码
package com.chuwu.web;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.sql.*;

@WebServlet("/dome2")
public class ServletDemo2 extends HttpServlet {
    private void doMysql() throws ClassNotFoundException, SQLException {
        Class.forName("com.mysql.jdbc.Driver");
        // 数据库连接信息
        String url = "jdbc:mysql://ip:端口/数据库?useSSL=false";
        String username = "用户名";
        String password = "密码";

        // JDBC对象
        Connection connection = null;
        Statement statement = null;
        ResultSet resultSet = null;

        try {
            // 连接数据库
            connection = DriverManager.getConnection(url, username, password);

            // 创建Statement对象
            statement = connection.createStatement();

            // 执行查询语句
            String query = "SELECT * FROM users";
            resultSet = statement.executeQuery(query);

            // 处理查询结果
            while (resultSet.next()) {
                int id = resultSet.getInt("id");
                String name = resultSet.getString("name");
                String email = resultSet.getString("age");

                System.out.println("ID: " + id);
                System.out.println("Name: " + name);
                System.out.println("age: " + email);
                System.out.println("----------------------");
            }
        } catch (SQLException e) {
            e.printStackTrace();
        } finally {
            // 关闭资源
            try {
                if (resultSet != null) {
                    resultSet.close();
                }
                if (statement != null) {
                    statement.close();
                }
                if (connection != null) {
                    connection.close();
                }
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }
    }
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        System.out.println("get请求");
        try {
            doMysql();
        } catch (ClassNotFoundException e) {
            throw new RuntimeException(e);
        } catch (SQLException e) {
            throw new RuntimeException(e);
        }

    }

    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        System.out.println("post请求");
    }
}
相关推荐
vvvae12345 小时前
分布式数据库
数据库
雪域迷影6 小时前
PostgreSQL Docker Error – 5432: 地址已被占用
数据库·docker·postgresql
bug菌¹6 小时前
滚雪球学Oracle[4.2讲]:PL/SQL基础语法
数据库·oracle
逸巽散人7 小时前
SQL基础教程
数据库·sql·oracle
月空MoonSky7 小时前
Oracle中TRUNC()函数详解
数据库·sql·oracle
momo小菜pa7 小时前
【MySQL 06】表的增删查改
数据库·mysql
向上的车轮8 小时前
Django学习笔记二:数据库操作详解
数据库·django
编程老船长8 小时前
第26章 Java操作Mongodb实现数据持久化
数据库·后端·mongodb
全栈师9 小时前
SQL Server中关于个性化需求批量删除表的做法
数据库·oracle
Data 3179 小时前
Hive数仓操作(十七)
大数据·数据库·数据仓库·hive·hadoop