我正在做一个需要处理PostgreSQL数据库的程序。我下载了jdbc驱动程序.jar并将其放在lib文件夹中,并配置了Intellij。
当我使用Main.java中的Postgres JDBC驱动程序时,一切正常。这是一个打印示例表中所有内容的示例:
public class Main {
public static void main(String[] args) throws java.io.IOException {
Class.forName("org.postgresql.Driver");
Connection con = DriverManager.getConnection("jdbc:postgresql://localhost:5432/Benerator","postgres","newPassword");
PreparedStatement stmt = con.prepareStatement("select * from public.example");
ResultSet res = stmt.executeQuery();
while(res.next()){
System.out.println(res.getString(1)+ " " + res.getString(2));}
}
}
但是,当我编写一个函数在Main类之外的另一个类中执行完全相同的操作时,我在Class.forName
行上收到了java.lang.ClassNotFoundException。当然,接下来的每一行都有例外。
这是DBManager.java类:
public class DBManager {
public DBManager(){
}
public void printExample(){
Class.forName("org.postgresql.Driver");
Connection con = DriverManager.getConnection("jdbc:postgresql://localhost:5432/Benerator","postgres","newPassword");
PreparedStatement stmt = con.prepareStatement("select * from public.example");
ResultSet res = stmt.executeQuery();
while(res.next()){
System.out.println(res.getString(1)+ " " + res.getString(2));}
}
}
我认为这是一个新手问题,但是我很难找到原因,有什么线索吗?
编辑:当我用Try / Catch包围代码时,一切正常
答案 0 :(得分:0)
db.
Model(previousModel).
UpdateColumns(appUpdated).
Model(&previousModel.Location).
Updates(appUpdated.Location)