java连接mysql的问题
今天学习到如何用java操控数据库,教程视频上有两种方法,一种是jdbc-odbc桥连接,一种是直接使用jdbc。我选择了后者。
可是并没有像教程那么简单,教程使用的sql server 2000,我使用的是mysql,然后我是小白一个,在百度找资料来自己弄。
先是下载了一个jdbc的驱动,我下载的是mysql-connector-java-5.1.35-bin.jar,然后在myeclipse里面开始使用,代码如下:
,代码并没有报错,可是我运行的时候,就会出现这个错误
我上网在找资料,可能由以下4点原因导致:
一:连接URL格式出现了问题(Connection conn=DriverManager.getConnection("jdbc:mysql://localhost:3306/XX","root","XXXX")
二:驱动字符串出错(com.mysql.jdbc.Driver)
三:Classpath中没有加入合适的mysql_jdbc驱动(驱动要和你的数据库版本一致)
四:驱动jar包放的位置不对。
我逐项检查,一二点没错,第三点后来我也重新配置了。针对第四项,我把那个jar包放入了jdk/jre/lib/ext里面。可是,还是显示这个错误。
我用的mysql是5.1.73版本,用的jdbc驱动是5.1.35版本,我找不到mysql与jdbc完全相同的版本。
我猜测,可能的原因有:
1.jdbc与mysql的版本不同。
2.我之前还装有5.6版本的mysql,我不清楚这两个不同版本的数据库会不会导致这种问题。
-------------------------------更新分割线-------------------------------------------------------
前面的语句里面有问题,第19行,应该是ct=DriverManager.getconnetion("jdbc:mysql//localhost:3306","saa","Wo19960120");。
后来我再改了,提示了这样一个错误Access denied for user 'root'@'localhost' (using password:YES),按我的理解就是,我用来连接数据库的那个用户没有足够的权限,然后我把所有权限都开放给了这个用户,终于完成连接了。