jdbc 连 mysql 的问题,谢谢!
这是运行后的结果,我想问一下这个与Mysql的设置有没有关系啊,要不我怎老连不上呢,谢谢大家给看看,还有下面这几句的意思小弟也不是太明白,
Success loading Mysql Driver!
Exception in thread "main " java.lang.NoClassDefFoundError:java/sql/SQLClientInfoException
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Unknown Source)
at com.mysql.jdbc.Connection. <clinit> (Connection.java:206)
at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:266)
at java.sql.DriverManager.getConnection(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)
程序为下面的:
import java.sql.*;
public class MysqlJdbc {
public static void main(String args[]) {
try {
Class.forName( "com.mysql.jdbc.Driver ").newInstance(); //加载
System.out.println( "Success loading Mysql Driver! ");//到这成功了,
}
catch (Exception e) {
System.out.print( "Error loading Mysql Driver! "); }
String url= "jdbc:mysql://localhost/test ";
try {
Connection connect = DriverManager.getConnection(url, "root ", "111 ");
System.out.println( "Success connect Mysql server! ");
}
catch (Exception e) {
System.out.print( "get data error! ");
e.printStackTrace();
}
}
}
[解决办法]
不明白为什么你的程序内的输出语句只执行了一条,应该来说无论如何都会有两条的啊。。
除非错误在String url= "jdbc:mysql://localhost/test ";这条语句上。。。
非常迷惑。
如果你的数据库名字没错,密码没错,还有也添加了驱动程序的话应该是不可能错的
[解决办法]
没有写端口号吧....
public Connection getTestConnection() throws Exception {
String url = "jdbc:mysql://172.28.96.49:3306/program_shiba ";
String user = "root ";
String password = "root ";
try {
Class.forName( "com.mysql.jdbc.Driver ");\
Connection con = DriverManager.getConnection(url,user,password);
return con;
} catch (ClassNotFoundException e) {
throw new Exception(e);
} catch (SQLException e) {
throw new Exception(e);
}
}
[解决办法]
端口可以不用。。
其实你这段代码在配置好了的机器上是可以运行的。。
你试下直接把驱动包导入到你的项目中去,而不是通过配环境变量指过去,有时环境变量太长了后面部分也是会有点问题的