我想用java连接postgreSQL数据库。Ubuntu11.10 PostgreSQL9.1 JDBC4我用以下的测试代码:
import java.sql.*;
import java.sql.*;
import java.lang.*;
import java.security.*;
import sun.misc.*; public class TestDB {
public TestDB() {
}
public static void main(String args[])
{
System.out.print("this is a test\n" );
try
{
Class.forName( "org.postgresql.Driver").newInstance();
String url = "jdbc:postgresql://localhost:5432/username";
Connection con = DriverManager.getConnection(url, "username" , "pw" );
Statement st = con.createStatement();
String sql = "select * from students" ;
ResultSet rs = st.executeQuery(sql);
while (rs.next())
{
System.out.print(rs.getInt( 1 ));
System.out.println(rs.getString( 2 ));
}
rs.close();
st.close();
con.close();
}
catch (Exception ee)
{
ee.printStackTrace();
//System.out.print(ee.getMessage());
}
}
}编译没问题,但是运行总是
Exception in thread "main" java.lang.NoClassDefFoundError: TestDB/
Caused by: java.lang.ClassNotFoundException: TestDB.
at java.net.URLClassLoader$1.run(URLClassLoader.java:217)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:205)
at java.lang.ClassLoader.loadClass(ClassLoader.java:321)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:294)
at java.lang.ClassLoader.loadClass(ClassLoader.java:266)是不是classpath没设置好,但是我不知到怎么弄。
import java.sql.*;
import java.sql.*;
import java.lang.*;
import java.security.*;
import sun.misc.*; public class TestDB {
public TestDB() {
}
public static void main(String args[])
{
System.out.print("this is a test\n" );
try
{
Class.forName( "org.postgresql.Driver").newInstance();
String url = "jdbc:postgresql://localhost:5432/username";
Connection con = DriverManager.getConnection(url, "username" , "pw" );
Statement st = con.createStatement();
String sql = "select * from students" ;
ResultSet rs = st.executeQuery(sql);
while (rs.next())
{
System.out.print(rs.getInt( 1 ));
System.out.println(rs.getString( 2 ));
}
rs.close();
st.close();
con.close();
}
catch (Exception ee)
{
ee.printStackTrace();
//System.out.print(ee.getMessage());
}
}
}编译没问题,但是运行总是
Exception in thread "main" java.lang.NoClassDefFoundError: TestDB/
Caused by: java.lang.ClassNotFoundException: TestDB.
at java.net.URLClassLoader$1.run(URLClassLoader.java:217)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:205)
at java.lang.ClassLoader.loadClass(ClassLoader.java:321)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:294)
at java.lang.ClassLoader.loadClass(ClassLoader.java:266)是不是classpath没设置好,但是我不知到怎么弄。
我是Ubuntu系统,不知道怎么设置哎。。网上找了很多方法都不行