如果我使用带有CurrentDb.Execute的RecordsAffected,它总是返回0.如果我首先创建一个Database对象的实例,它可以正常工作.为什么?
像这样:
Dim Db As Database
Set Db = CurrentDb
Db.Execute "DELETE * FROM [Samples] WHERE Sample=5"
If Db.RecordsAffected = 0 Then
MsgBox "Error"
End If
Run Code Online (Sandbox Code Playgroud)
代替:
CurrentDb.Execute "DELETE * FROM [Samples] WHERE Sample=5"
If CurrentDb.RecordsAffected = 0 Then
MsgBox "Error"
End If
Run Code Online (Sandbox Code Playgroud)
我正在使用Access 2007和Microsoft Office 12.0 Access数据库引擎对象库.
我们来看一个DAO模式的简单例子.Let Person是一个值对象,PersonDAO是对应的特征,它提供了存储/检索Person数据库的方法.
trait PersonDAO {
def create(p:Person)
def find(id:Int)
def update(p:Person)
def delete(id:Int)
}
如果我们想要分离业务域和持久性逻辑,我们使用这种模式(例如,与Active Record相对).
如果我们使用其他方法呢?我们将创造PersonDatabaseAdapter
trait PersonDatabaseAdapter{
def create
def retrieve(id:Int)
def update
def delete
}
和隐式转换,从Person它.
implicit def toDatabaseAdapter(person:Person) = new PersonDatabaseAdapter {
def create = ...
def retrieve(id:Int) = ...
def update = ...
def delete = ...
}
现在,如果我们导入这些转换,我们可以编写客户端代码,以Persons下列方式操作和存储/检索数据库:
val person1 = new Person ... person1.create ... …
我正在为java寻找免费且简单的DAO生成器(它需要从db表/视图创建实体/ bens并生成基本的CRUD代码).目前,我使用的DAO4J缺少视图映射等功能.我知道有像Hibernate这样的框架,但我不需要这样强大的框架.
这个框架应该做的一些事情:
我在PHP中使用DAO模式.我理解以这种方式分离模型所带来的好处,但我不明白的是,当表通过关联实体关联时,您应该如何构建DAO和VO?
我举个例子:
在我的数据库中我有
USERS(id,username);
USERS_POSTS(id_user(FK),id_post(FK));
POSTS(id, title);
USER_COMMENTS(id_user(Fk),id_post(FK));
COMMENTS(id, text);
Run Code Online (Sandbox Code Playgroud)
我使用相应的setter和getter 创建UserVO,PostVO,然后负责最终返回VO的SQL的UserDAO和PostDAO.对来自这些表的数据执行CRUD操作非常简单,但是当您开始考虑关联表并检索跨不同表的数据时,您开始认为使用DAO不再那么简单了......
如果您想要返回文章作者的所有评论,您将如何组织DAO模式?我不需要SQL查询我只是将此作为实际情况的一个例子...
我读到,为每个关联表提供关联DAO和Vo是个好主意.它的VO会包含什么?只有2个外键或来自两个表的所有属性?
如果逻辑具有关联实体的DAO和VO,那么如果查询"通过"多于3个表(使用2个关联实体),那么解决方案是什么?
我怀疑DAO模式会有一个名为users_posts_comments_article的对象:)))
谢谢
我知道Hibernate实现了ORM(对象关系映射),JDBC实现了什么类型的映射?它实现了DAO吗?我不完全理解DAO如何与JDBC相关......?
首先,我必须承认我对Angular.js很新,我之前没有使用像Backbone或Knockout这样的新一代js框架.我正在创建一个使用RESTful API与服务器通信的应用程序.我在角度文档和博客笔记中挖了很多,所以我能做得对.
我发现的例子主要是$ resource.它看起来很不错:许多内置方法,当你正确设计REST接口时,你甚至不需要再编写任何东西了.
但我(以及我的整个团队)更习惯于JavaEE思考模型层的方式:轻量级模型类(POJO等),DAO类持久化和获取模型以及DAO和控制器之间的可选服务层.另一方面,Angular $资源创建了更像活动记录的东西.
我已经提出了两种如何在Angular中实现DAO模式的方法:
由于重用现有代码,第二种方式对我来说看起来更好.$ resource具有promise对象的良好行为,如果我不必自己实现它,我会很高兴.
最后主要问题是:主动记录方法是在Angular,Backbone和其他类似工具中进行数据访问的唯一方法吗?也许有人已经尝试在他的代码中加入更类似于DAO的类似解决方案并且可以分享他对它的看法?
第二个问题:在处理错误,连接丢失和不同问题时,$ resource对象是否足够?是否值得使用$资源考虑到这一点,或者最好从较低级别的$ http开始.
我正处于项目的开始阶段,我知道这个决定可能会影响整个项目的生命,所以我想选择最好的.
我有一个'容器'类,其中的字段包含在几个数据库表中,我使用DAO模式来访问数据.
问题是,我应该为这个"容器"类创建一个DAO,还是每个表有一个DAO并组合它们的数据更好?
假设我有这个模型.(为了演示目的,我非常简单.)
class User
{
public $id;
public $email;
public $password;
public $errors = [];
public function isValid()
{
if (strpos($this->email, '@') === false) {
$this->errors['email'] = 'Please enter an email address';
}
// ...
return !$this->errors;
}
}
Run Code Online (Sandbox Code Playgroud)
让我们说我有这个DAO用于检索,添加,更新和删除用户.
class UserDAO
{
public function getUsers() { ... }
public function getUserById($id) { ... }
public function addUser(User $user) { ... }
public function updateUser(User $user) { ... }
public function deleteUser($id) { ... }
public function isEmailUnique($email) { ... } …Run Code Online (Sandbox Code Playgroud) 我正在使用Room架构组件来实现持久性.我创建了通用DAO接口以避免样板代码. Room Pro Tips
但是我的代码没有编译说"Error:(21,19)error:参数的类型必须是用@Entity或它的集合/数组注释的类." 对于通用类T.
interface BaseDao<T> {
@Insert(onConflict = OnConflictStrategy.REPLACE)
void insert(T... entity);
@Update
void update(T entity);
@Delete
void delete(T entity);
}
@Dao
public abstract class ReasonDao implements BaseDao<ReasonDao> {
@Query("SELECT * from Reason")
abstract public List<Reason> getReasons();
}
Run Code Online (Sandbox Code Playgroud)
这里有什么我想念的吗?它是这样工作在这里
我正在Hibernatedaosupport为我的DAO课程使用Spring MVC .在这里混淆在哪里开始交易,是否应该在服务层或DAO层?
我的视图与服务层交互.DAO被注入服务.
在DAO服务层架构中使用Spring MVC和Hibernate的正确方法是什么?
dao ×10
java ×3
database ×2
hibernate ×2
php ×2
activerecord ×1
android ×1
android-room ×1
angularjs ×1
architecture ×1
containers ×1
entity ×1
javascript ×1
jdbc ×1
ms-access ×1
persistence ×1
scala ×1
spring ×1
spring-mvc ×1
terminology ×1
validation ×1