常见的情况,一般有四种原因: 一
:
连
接
URL
格
式
出
现
了
问
题
(Connection
conn=DriverManager.getConnection(\\
二:驱动字符串出错(com.mysql.jdbc.Driver)
三:Classpath中没有加入合适的mysql_jdbc驱动(驱动要和你的数据库版本一致)
四:驱动jar包放的位置不对
------------------- 一、 二、 三、
目
复制mysql的驱动包(mysql-connector-java-5.0.8-bin.jar)到JDK根
录
的
jre\\lib\\ext\\
目
录
下
,
如
:
配置eclipse或者jcreator等开发工具的JDK(JRE)为您刚才安装的JDK(根正确安装
JDK
并正确配置环境变量,本例安装路径:
D:\\developer\\Java\\jdk1.6.0_10
目录)
D:\\developer\\Java\\jdk1.6.0_10\\jre\\lib\\ext\\,否则运行实例时会提示错误一的相关错误内容 四、
下载并安装mysql数据库,启动mysql数据库并创建一个数据库,如:hrtrain
(错误二),并在该数据库创建一个表,如:USERINFO(错误三),该表包含:ID、USERNAME、CARDID、SEX、PHONE(错误四)等字段。 五、
在数据表USERINFO录入若干记录
六、 启动的Eclipse或者jcreator等开发工具,并创建一个mysql_jdbc连接数据
库的测试文件,如MySqlJdbcConn.java 七、
错误一:mysql的驱动包找不到
Exception in thread \java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:188) at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301) at java.lang.ClassLoader.loadClass(ClassLoader.java:252)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320) at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Class.java:169) at MySqlJdbcConn.main(MySqlJdbcConn.java:12)
错误二:没有找的数据库
Exception in thread \
com.mysql.jdbc.exceptions.MySQLSyntaxErrorException: Unknown database 'hrtrain'
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:936) at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:2985) at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:885) at com.mysql.jdbc.MysqlIO.secureAuth411(MysqlIO.java:3421) at com.mysql.jdbc.MysqlIO.doHandshake(MysqlIO.java:1247)
at com.mysql.jdbc.Connection.createNewIO(Connection.java:2775) at com.mysql.jdbc.Connection.
com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:285)
at java.sql.DriverManager.getConnection(DriverManager.java:582) at java.sql.DriverManager.getConnection(DriverManager.java:185) at MySqlJdbcConn.main(MySqlJdbcConn.java:16)
错误二:没有找的数据表
Exception in thread \
运行MySqlJdbcConn.java,若正常打印信息则表示测试成功,否则检查以上步
骤是否有误
com.mysql.jdbc.exceptions.MySQLSyntaxErrorException: Table 'hrtrain.userinfo' doesn't exist
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:936) at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:2985) at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1631) at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:1723) at com.mysql.jdbc.Connection.execSQL(Connection.java:3277) at com.mysql.jdbc.Connection.execSQL(Connection.java:3206) at com.mysql.jdbc.Statement.executeQuery(Statement.java:1232) at MySqlJdbcConn.main(MySqlJdbcConn.java:23)
错误四:需要查找的数据字段不存在或者索引有误
Exception in thread \java.sql.SQLException: Column 'phone' not found.
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:910) at com.mysql.jdbc.ResultSet.findColumn(ResultSet.java:987) at com.mysql.jdbc.ResultSet.getString(ResultSet.java:5584) at MySqlJdbcConn.main(MySqlJdbcConn.java:27)
――
Exception in thread \java.sql.SQLException: Column Index out of range, 6 > 5.
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:910) at
com.mysql.jdbc.ResultSet.checkColumnBounds(ResultSet.java:690) at com.mysql.jdbc.ResultSet.getObject(ResultSet.java:4792) at MySqlJdbcConn.main(MySqlJdbcConn.java:27)