JDBC的使用问题(运行错误:java.lang.ClassNotFoundException:com.mysql.jdbc.Driver)
代码:
1 /** 2 *Description: Examples for chapter17 3 *Date: 2017/05/15 powered by rdry 4 *@name example17_1 5 *@author Rdry 6 */ 7 8 import java.sql.*; 9 10 public class Example17_1 11 { 12 public static void main(String[] args) 13 { 14 try 15 { 16 Class.forName("com.mysql.jdbc.Driver"); //加载驱动 17 String url = "jdbc:mysql://localhost:3306/world?useSSL=false"; //格式:"jdbc:mysql://ip:port/database" 18 String user = "root"; //useSSL不是必须的,但是不加的话运行会有告警 19 String password = "admin789"; 20 21 Connection conn = DriverManager.getConnection(url, user, password); 22 //String sql = "insert into tb_city()"; 23 conn.close(); 24 } 25 catch(Exception e) 26 { 27 e.printStackTrace(); 28 } 29 } 30 }
个人小白一个,什么都没装一个!自学的参考书上都没有,只能自己一步一步来!
第一步 安装MySql数据库
到官网上下载数据库:https://dev.mysql.com/downloads/mysql/
选择合适自己电脑系统的安装包下载下来,安装过程很简单, 一路next就行。往上也有很详细的教程,可以自己找来看看。
确认数据库安装成功:
运行Command Line Client ,输入密码,出现上面的界面就说明安装成功了!
有时候输入密码就闪退,这种情况有几种可能:
1、密码输入错误,确认密码输入无误;
2、mysql服务没有启动
电脑->右键管理->服务和应用程序->服务, 找到mysql服务,启动服务。再重新登录就可以了。
使用show databases \g 命令查看有那些数据库。
第二步 下载Connector for java(在代码中加载的驱动就在这个包里)
官方下载地址:https://dev.mysql.com/downloads/connector/j/
下载合适自己的包,解压结果如下:
第三步 编译运行代码
代码中,要导入mysql数据库的驱动com.mysql.jdbc.Driver;所以要导入上面的 .jar包(其他文件可不管)。方法有两种:
1、如果使用的是eclipse比较简单,直接选中工程,点击Files->Properties->Java Build Path->Add External Jars 选择要导入的.jar包即可。
2、使用命令行 用命令javac -cp "路径" ***.java -> java -cp "路径" ***(路径要包含.jar包 如:C:\Java\jdk1.8.0_121\lib\mysql-connector-java-5.1.42-bin.jar),这种方式每次都要指定路径,比较麻烦。
3、使用的是命令行,那么就需要添加classpath。因为新版本的Java在安装之后可以不用添加classpath就可以正常使用,所以在设置环境变量的时候并没有添加classpath。
说实话之前一直没搞懂classpath, path到底什么区别,于是傻傻的将路径添加到path里面,折腾好久,然并卵。
(
Path:用来指定JVM的运行路径。指定之后像java.exe, javac.exe这些命令就可以在任意目录下运行,而不用切换到命令所在的目录了。
Classpath: 指定程序编译运行所需的类文件。以前的jdk之所以要指定该路径就是因为jdk无法自动寻找到javac运行所需的tool.jar包(C:\Java\jdk1.8.0_121\lib\tools.jar)。
)
把下载的包加到classpath路径下,没有自己添加一个
添加完路径之后就可以运行了,代码运行结果没有任何输出,也不会报错!
如果正确添加classpath之后还会出现的错误的话,可以尝试重启一下电脑。
我使用的是win10设置完之后还是出错,重启了电脑就没问题了!