我猜,DAO是线程安全的,不使用任何类成员。
那么它可以作为Servlet的私有字段使用而没有任何问题吗?我们只需要一份副本,
多个线程可以同时访问它,所以为什么还要创建一个局部变量,对吗?
答案 0 :(得分:1)
“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正确处理连接和事务,它应该可以工作。