日期:2014-05-20  浏览次数:20869 次

java与mysql连接,mysql-connector-java-5.1.12-bin.jar要与mysql版本一致吗?
我是在EditPlus里写的这个java文件。我把mysql-connector-java-5.1.12-bin.jar跟这个java文件放在同一个目录下了,并加入了classpath;还需要做什么吗?希望回答详细点,比如我应该怎样一步一步的做。
另外我以前这样登陆mysql ,mysql -u kkk -p ddd,现在这样不行了,密码得格外输入。会不会与这个有关?
我的咋连不上呢?
import java.sql.*;
public class GetConn {
public Connection conn = null; // 创建Connection对象
// 获取数据库连接方法
public Connection getConnection() {
try {
Class.forName("com.mysql.jdbc.Driver"); // 加载数据库驱动
String url = "jdbc:mysql://localhost:3306/db_jxc";
String user = "root";
String passWord = "qykshr";
conn = DriverManager.getConnection(
url, user, passWord);
// getConnection()方法参数分别指定连接数据库的URL、用户名和密码
if (conn != null) {
System.out.println("数据库连接成功");
}
else
System.out.println("数据库连接失败");
} catch (Exception e) {
System.out.println("异常");
e.printStackTrace();
}// 异常处理
return conn;// 返回Connection对象
}
// 程序主方法
public static void main(String[] args) {
GetConn getConn = new GetConn(); // 创建GetConn对象
getConn.getConnection(); // 调用连接数据库方法
}
}

异常如下
java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
  at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
  at java.security.AccessController.doPrivileged(Native Method)
  at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
  at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
  at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
  at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
  at java.lang.Class.forName0(Native Method)
  at java.lang.Class.forName(Class.java:169)
  at GetConn.getConnection(GetConn.java:7)
  at GetConn.main(GetConn.java:28)

------解决方案--------------------
不需要,mysql jdbc驱动是向下兼容的。同一大版本中也可以用低版本的jdbc驱动(不过这样有风险)。你出现的异常是没有将驱动放到classpath下而已。