调了一夜也没调好。大家帮帮忙,java连接phostgres异常
新人请教个问题,调了一夜也没调好。请各位帮帮忙。
JAVA连接Postgres数据库,用type3方式,驱动是在Postgres官网上下载的。
我先用以下代码试一下驱动是否好用,
package beans;
import java.sql.*;
public class Test {
public static void main(String[] args) {
try {
Class.forName("org.postgresql.Driver");
String url = "jdbc:postgresql://localhost/mydb";
String user = "postgres";
String password = "1234";
Connection cn = DriverManager.getConnection(url, user, password);
PreparedStatement ps = cn.prepareStatement("select * from db");
ResultSet rs=ps.executeQuery();
while (rs.next()) {
int id = rs.getInt(1);
String name = rs.getString(2);
System.out.print(id);
System.out.println(name);
}
ps.close();
cn.close();
} catch (Exception e) {
System.out.println("Errow" + e);
}
}
}
可以正常显示数据库中信息。
后来我将以下代码部署到TOMCAT上时出现异常:
package beans;
import java.util.*;
import java.sql.*;
public class InfoBean {
private int id;
private String name;
public InfoBean() {}
public InfoBean(int id, String name) {
this.id = id;
this.name = name;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
// 获取所有用户
public ArrayList getAll() {
ArrayList infolist = new ArrayList();
try {
Class.forName("org.postgresql.Driver");
//上面这句代码出错,请各位帮忙。
String url = "jdbc:postgresql://localhost/mydb";
String user = "postgres";
String password = "1234";
Connection cn = DriverManager.getConnection(url, user, password);
PreparedStatement ps = cn.prepareStatement("select * from db");
ResultSet rs=ps.executeQuery();
while (rs.next()) {
int id = rs.getInt(1);
String name = rs.getString(2);
InfoBean info = new InfoBean(id, name);
infolist.add(info);
System.out.print(id);
System.out.println(name);
}
} catch (Exception e) {
System.out.println("InfoBean error:"+ e.getMessage());
}
return infolist;
}
}
异常信息是:InfoBean error: org.postgresql.Driver
我感觉好象是找不到驱动名。
上面的代码都是在eclipse上做的,我在eclipse项目中已经导入Postgres驱动,后来用jboss做服务器也同样出现此异常,有试着将驱动考到jboss的lib文件夹下,依然有异常,请各位高手指教。
谢谢了!