gpt4 book ai didi

java - postgres 上的错误转换连接

转载 作者:行者123 更新时间:2023-11-30 04:55:11 25 4
gpt4 key购买 nike

大家晚安,这是我的第一个问题。

我在使用 tomcat Web 服务器运行 ZK 应用程序时遇到一些问题

java.lang.ClassCastException:org.postgresql.jdbc4.Jdbc4Connection 无法转换为controller.connection Controller .连接。(连接.java:27) controller.lap_keuangan.lk_Controller.prepareliSTLk(lk_Controller.java:34) controller.lap_keuangan.lk_Controller.doAfterCompose(lk_Controller.java:30)

这是我的连接类:

package controller;

//import ommited


public class connection {

private static final String url="jdbc:postgresql://192.168.56.101:5432/adempiere";
private static final String user = "postgres";
private static final String pwd = "auliaardy";
private connection conn;

public connection()throws Exception{
try {
DriverManager.registerDriver(new org.postgresql.Driver());
conn = (connection) DriverManager.getConnection(url,user,pwd);

} catch (SQLException e) {
System.out.println("Driver tidak ditemukan"+e);
}
}

public Connection getConnection(){
return (Connection) conn;
}

public void closeConnection(){
try {
conn.closeConnection();
} catch (Exception e) {
System.out.println("gagal menutup koneksi disebabkan: "+e);
}
}

}

这是我的 Controller 类

//import ommited here

public class lk_Controller extends GenericForwardComposer {

private Listbox listlk;

@Override
public void doAfterCompose(Component comp) throws Exception {
super.doAfterCompose(comp);
preparelistlk();
}

public void preparelistlk() throws Exception {
connection c = new connection();
try {
l_keuangan lk = new l_keuangan(c.getConnection());
List<tbl_lk> llk = lk.getLKeuangan();
ListModelList lml = new ListModelList(llk, true);
listlk.setModel(lml);
listlk.setItemRenderer(new ListitemRenderer() {

@Override
public void render(Listitem lslk, Object o) throws Exception {

try {

tbl_lk tl = (tbl_lk) o;
new Listcell(ubahtanggal()).setParent(lslk);
new Listcell(Integer.toString(tl.getSum_debit())).setParent(lslk);
new Listcell(Integer.toString(tl.getSum_credit())).setParent(lslk);
new Listcell(Integer.toString(tl.getTotal())).setParent(lslk);
} catch (Exception e) {
e.printStackTrace();
}
}
});
} catch (Exception e) {
e.printStackTrace();
}
}

public String ubahtanggal() {
tbl_lk lk = new tbl_lk();
DateFormat df = new SimpleDateFormat("YYYY/MM/DD");
long tanggal = lk.getTanggal().getTime();
String tgl = df.format(tanggal);
return tgl;




}
}

tomcat 在以下行表示错误:DriverManager.registerDriver(new org.postgresql.Driver());conn = (连接) DriverManager.getConnection(url,用户,密码);

我无法将转换连接更改为:conn = DriverManager.getConnection(url,用户,密码);

请有人帮忙,我被困了一夜 T.T

最佳答案

DriverManager 对象返回 java.sql.Connection 的实现。它不会返回 controller.connection 类的实例。您的 conn 变量应为 java.sql.Connection 类型。

请注意:

  • 按照惯例,Java 中的类始终以大写字母开头
  • 命名您的类connection,并使其包装Connection类的对象,这真的很令人困惑。如此困惑以至于你被自己的代码搞糊涂了。

关于java - postgres 上的错误转换连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8771862/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com