DAO,也称为映射器(我认为),是一种核心 Java EE 模式。
我喜欢这种模式,因为(IMO)在代码和 SQL 之间创建一个抽象层可以大大提高代码的质量。
我通常遵循 Java EE 模式,但是当您需要从数据库中获取一些非常具体的数据时,我会感到有些失落。我不确定谁应该负责检索这些数据。
我的方法通常是创建一个UserModel
类,在其中存储最常用的参数,并在 DAO 中创建一个方法getUser(param: String): UserModel
。但是,如果数据库中有一个列当然是需要的,但不是那么频繁。最好的方法是什么?
你认为 DAO 应该提供类似 (eg)getUserID(): String
或的方法isUserVerfied(): Boolean
吗?还是您认为 DAO 的职责只是提供基础(更新/删除/插入/选择)方法?
基本上,问题是,当您需要一些在代码中没有大量使用的数据时,最好的方法是什么,select()
在您的 DAO 中创建一个方法,将所有内容(用户表(例如))加载到您的模型中。或者有一些特定的方法,isUserVerified(): Boolean
尽管这不是模式的一部分?还是有另一种适用于两种情况的方法(经常使用字段和不经常使用的字段)?
请注意,答案应尽可能与语言无关。