今天在用eclipse学习java连接mysql时遇到了问题。具体细节如下。
- 下载安装连接mysql需要的jar包
首先,我从网上下载了mysql的驱动jar包(我安装的mysql是5.6版本的,因此用的是5.1.18版本的驱动jar包)。下载地址如下:
https://dev.mysql.com/downloads/connector/j/5.1.html
-
导入jar包
在eclipse中右键点项目,找到build path->Add External Archive 然后选择下载好的jar包 导入jar包。 -
在运行程序 我的代码如下
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;
public class JDBCDemo {
private static final String URL="jdbc:mysql://localhost:3306/demo01" ;
private static final String USERNAME="root" ;
private static final String PWD="password " ;
//static 方法只能调用static变量 (原因是创建对象前,实例变量还未加载)故把属性变量写在上面
public static void update() throws SQLException {//增删改
Statement statement=null;
Connection connection=null;
try {
System.out.println("调试");
//a.导入驱动 加载具体的驱动类
Class.forName("com.mysql.jdbc.Driver");
System.out.println("调试2");
//b.与数据库建立连接
connection=DriverManager.getConnection(URL,USERNAME,PWD);
System.out.println("调试3");
//c.发送sql,执行(增删改、查)
statement=connection.createStatement();
String sql="insert into user values(15,'man','zs','abc','18','2002-2-2') ";
//执行sql
int count=statement.executeUpdate(sql);
//d.处理结果
if (count>0) {
System.out.println("操作成功!");
}
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
finally {
try {
if (statement!=null) {
statement.close();//对象.方法
}
if (connection!=null) {
connection.close();
}
} catch (Exception e2) {
// TODO: handle exception
}
}
}
public static void main(String[] args) throws SQLException {
update();
System.out.println("hello world");
}
}
问题来了 在运行时出现了错误
后来我花了将近3个小时…在网上没找到合适的解决方案(找到了一些方案 但是会出现其他错误。)。。。后来,,我终于发现 是密码中多了个空格!!!
于是 我删掉空格 重新运行,重要成功了。!!!所以大家一定要注重细节!!!不然会走很多弯路!