我在MYSQL中创建了一个简单的数据库,我试图从用Eclipse编写的java程序中提取数据。当我在eclipse中运行程序时,它可以很好地提取数据,但是当我将程序导出到可运行的JAR中时,它就无法工作!!
我已经在构建路径中使用“添加外部存档”功能添加了mysql连接器,并使用
检查了它System.out.println("classpath = " + System.getProperty("java.class.path"));
给出了结果: classpath = C:\ Users \ Andy \ workspace \ test2 \ bin; C:\ Users \ Admin \ Desktop \ mysql-connector-java-5.1.16 \ mysql-connector-java-5.1.16-bin.jar
我还打开了导出的JAR文件,并看到已添加连接器。
以下是我正在使用的代码:
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.Statement;
import javax.swing.JOptionPane;
public class test
{
public static void main(String args[])
{
try
{
Class.forName("com.mysql.jdbc.Driver").newInstance();
Connection dbConn = DriverManager.getConnection("jdbc:mysql://localhost:3306/cambridge","root","P@ssw0rd");
System.out.println("classpath = " + System.getProperty("java.class.path"));
Statement stmt = dbConn.createStatement();
String strSQL = "Select * from customer_details";
ResultSet rs = stmt.executeQuery(strSQL);
ResultSetMetaData rsmd = rs.getMetaData();
int nCol = rsmd.getColumnCount();
while(rs.next())
{
for(int col=1; col<=nCol; col++)
{
System.out.print(rs.getString(col));
JOptionPane.showMessageDialog(null, rs.getString(col));
}
System.out.println();
}
System.out.println();
dbConn.close();
}
catch (Exception excp)
{
excp.printStackTrace();
}
}
}
提前感谢您提供的任何帮助!!!
答案 0 :(得分:0)
最后得到它!!!
我做了以下事情:
Window -> Preferences -> Java -> Build Path -> Classpath Variables
然后单击new,输入一个名称,然后单击文件并导航到mysql连接器,然后点击确定!!
不完全确定为什么会这样,但是当我做的几乎相同时,但是对于个别项目没有,但是它起作用了,这就是主要的事情!!
感谢所有回复并向我提供帮助的人。我花了一段时间,但最终我到了那里! :O)