我猜想,DAO是线程安全的,不使用任何类成员。
那么它可以毫无问题地用作 Servlet 的私有(private)字段吗?我们只需要一份副本,并且
多个线程可以同时访问它,那么为什么还要创建局部变量,对吧?
最佳答案
“DAO”只是数据库抽象类的总称。它们是否是线程安全的取决于具体的实现。
这个糟糕的例子可以称为 DAO,但如果多个线程同时调用 insert 方法,它会给你带来麻烦。
class MyDAO {
private Connection connection = null;
public boolean insertSomething(Something o) throws Exception {
try {
connection = getConnection()
//do insert on connection.
} finally {
if (connection != null) {
connection.close();
}
}
}
}
所以答案是:如果您的 DAO 正确处理连接和事务,它应该可以工作。
关于java - dao 作为 servlet 的成员 - 正常吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2825099/