java - 使用 ActiveJDBC 进行连接管理

标签 java swing activejdbc

我现在正在接触 ActiveJDBC,据我所知,这是一个非常好的、有用的框架。但我在它的 JDBC 连接管理方面遇到了一些问题,因为它将一个打开的连接附加到当前线程。这意味着,如果我在程序初始化时打开连接,一切都会正常工作;但是,如果我随后实例化 JFrame 并尝试在 ActionListener 中从数据库读取数据/向数据库写入数据,则会生成错误,因为没有连接到调度线程。

如何解决这个问题?我宁愿只有一个连接,我可以一直访问它(通过 Base.connection()),而不是为每个线程附加一个连接..

提前致谢

最佳答案

我建议您以这种方式实现 Action 监听器:

public class AJListenerAdapter implements ActionListener{
  public void actionPerformed(ActionEvent e){
     Base.open(...);
     doPerform(ActionEvent e);
     Base.close(...);
  }

  protected abstract doPerform(ActionEvent e);
}

然后只需子类化此适配器并实现 doPerform() 方法即可。

此外,您可能希望使用池中的连接。这是一个例子 https://github.com/javalite/activejdbc/blob/master/activejdbc/src/test/java/org/javalite/activejdbc/C3P0PoolTest.java

关于java - 使用 ActiveJDBC 进行连接管理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27849820/

相关文章:

java - 迁移到 Java 9 或更高版本时是否需要切换到模块?

java - Spring Thymeleaf 缩短 url (form - get) 参数

对于相同的对象,Java 哈希码在一种情况下会发生冲突,而在另一种情况下不会发生冲突,为什么? (下面的代码)

java 。 Swing JTable。更改 JTable 中的数据并调用表模型中的自定义方法

gradle - ActiveJDBC检测:无法检测Jar中的模型类

java - ActiveJDBC:save() 只为自动生成的主键生成插入?

mysql - ActiveJDBC 中是否有函数或类可以获取 MySQL 表列名称? (字符串)

java - 如何使用ASM重写visitMethod将两个类合并为一个类

Java gui 空格错误检查

java - 设置 Size 不会在 Java 上覆盖