我现在正在接触 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/