读书人

直接用Java(不用JSP)连接MySQL数据库

发布时间: 2012-01-26 19:40:46 作者: rapoo

直接用Java(不用JSP)连接MySQL数据库的问题
我使用的是MySQL 4.1.10,下载的JDBC驱动程序是mysql-connector-java-3.1.7-bin.jar,使用jdk1.5.0_06。

我把mysql-connector-java-3.1.7-bin.jar放到D:盘,在CLASSPATH里添加了这么一条:D:\mysql-connector-java-3.1.7-bin.jar;
直接写了个Java类来连接MySQL,但是老是出现如下错误:

java.sql.SQLException: No suitable driver
at java.sql.DriverManager.getConnection(DriverManager.java:545)
at java.sql.DriverManager.getConnection(DriverManager.java:171)
at QueryAllMySQL.main(QueryAllMySQL.java:27)
Exception in thread "main " java.lang.NullPointerException
at QueryAllMySQL.main(QueryAllMySQL.java:45)

但是我查找网上的信息,大都使用JSP来完成连接MySQL数据库,于是我使用jakarta-tomcat-5.5.7,并且把mysql-connector-java-3.1.7-bin.jar放到\jakarta-tomcat-5.5.7\common\lib目录下,然后写了一个Servlet类,其中连接MySQL的语句和上面一样,并且成功地连接了数据库。

那说明我的MySQL数据库、JDBC驱动都没问题,老是出现上面的问题就不知道哪错了,请大家指教!

Java类源代码如下:

import java.sql.*;

public class QueryAllMySQL
{
private static Connection connection = null;
private static Statement statement = null;

public static void main(String[] args) throws Exception
{
// 加载数据库驱动
try
{
Class.forName( "com.mysql.jdbc.Driver ");
}
catch(ClassNotFoundException ex)
{
ex.printStackTrace();
}

try
{
// 连接数据库
connection = DriverManager.getConnection (DATABASE_URL,DATABASE_USR,DATABASE_PASSWORD);

// 查询表
statement = connection.createStatement();
ResultSet resultSet = statement.executeQuery( "use student;SELECT * FROM studentInfo ");

// 显示查询数据
printInfo(resultSet);
}
catch(SQLException ex)
{
ex.printStackTrace();
}

finally
{
try
{
connection.close();
statement.close();
}
catch(SQLException ex)
{
ex.printStackTrace();
}
}
}

// 查询数据显示方法
private static void printInfo(ResultSet rs)
{
StringBuffer results = new StringBuffer();

try
{
ResultSetMetaData metaData = rs.getMetaData();
int numberOfColumns = metaData.getColumnCount();

for(int i=1;i <=numberOfColumns;i++)
{
results.append(metaData.getColumnName(i) + "\t ");
}
results.append( "\n ");

while(rs.next())
{
for(int i=1;i <=numberOfColumns;i++)
{
results.append(rs.getObject(i) + "\t ");
}
results.append( "\n ");
}
}
catch(SQLException ex)
{
ex.printStackTrace();
}

System.out.println(results.toString());
}
}


------解决方案--------------------


很明显没有找到驱动类嘛,,


如果你使用eclipse开发的话,在你的项目名称点击右键 ,选择import再选择general中的file system再选择驱动程序的JAR文件就行了,
[解决办法]
eclipse中的话可以添加一个userlibrary,把mysql-connector-java-3.1.7-bin.jar加进去
[解决办法]
建议放到tomcat的lib中
[解决办法]
驱动找不到,试把包倒到ecilps
[解决办法]
mysql-connector-java-3.1.7-bin.jar写到classpath里去

读书人网 >Java Web开发

热点推荐