欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Tomcat启动报错 No suitable driver found for jdbc:mysql://localhost:3306……

程序员文章站 2022-06-15 13:45:34
...

问题原因:
现这个异常原因可能很多:

1.编码问题
2.没有加载类驱动:换一种数据库的连接方式,就忘了这个:Class.forName(driverclass);

问题排查:

//检查url是否正确,驱动字符串是否正确
 private static final String url="jdbc:mysql://localhost:3306/数据库?useUnicode=true&characterEncoding=utf-8";

如果使用的mysql,驱动字符串为Class.forName(com.mysql.jdbc.Driver);
是否在buildpath导入mysql_jdbc驱动,版本是否匹配
jar包位置是否正确

附上一段标准的代码,演示内容不必关心!!!

package com.zch.jdbc;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;

/**
 * 
 * @ClassName:     Example03.java
 * @Description:  演示滚动结果集
 * @author 萌城小小小少年
 * @version      V1.0 
 * @Date     2019年2月13日 上午10:33:15
 *
 */
public class Example03 {
	public static void main(String[] args) {
		Connection con=null;
		Statement st=null;
		ResultSet rs=null;
		try {
			//1.注册和加载驱动
			Class.forName("com.mysql.jdbc.Driver");
			//2.获取连接
			con=DriverManager.getConnection("jdbc:mysql://localhost:3306/jdbc", "root","201314");
			//3.获取执行sql语句的对象,支持滚动结果集
	st=con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);
			//4.执行sql语句
			String sql="select * from users";
			rs=st.executeQuery(sql);
			//5.遍历结果集
				//演示直接获取第二行的数据
			rs.absolute(2);
			System.out.println("获取第二行的值"+rs.getString(2));
			//获取第一行的值
			rs.beforeFirst();//把光标定位到第一行的前面
			rs.next(); //把光标跳转到第一行
			System.out.println("获取第一行的值:"+rs.getString("name"));
			//演示获取第四行的值
			rs.afterLast();//把光标放到最后一行的后面
			rs.previous();//把光标移动到最后一行上面
			System.out.println("获取最后一行的值:"+rs.getString(2));

		} catch (Exception e) {
			// TODO: handle exception
			throw new RuntimeException(e);
		}finally {
			//关闭资源
			if(rs!=null) {
				try {
					rs.close();
				} catch (Exception e) {
					// TODO: handle exception
					e.printStackTrace();
				}
				rs=null;
			}
			if(st!=null) {
				try {
					st.close();
				} catch (Exception e) {
					// TODO: handle exception
					e.printStackTrace();
				}
				st=null;
			}
			if(con!=null) {
				try {
					con.close();
				} catch (Exception e) {
					// TODO: handle exception
					e.printStackTrace();
				}
				con=null;
			}
		}
	}
}

相关标签: 问题报错