And*_*rew 2 java mysql sql rdbms object-oriented-database
我有一个关于如何在使用诸如mysql之类的RDBMS时使用面向对象方法的问题.我正在开发一个跟踪计费的小应用程序.它是用java构建的,我使用MySQL数据库来存储数据.我的应用程序有一个客户和产品类.现在通常,如果我使用数组或不同的数据容器处理持久性数据存储,我会对客户类进行更新,删除等,对产品类进行更新.然而,我发现自己使用比以往更多的静态方法.因为我没有一个客户阵列,例如我只有一个带有客户信息的数据库,所以当我只能调用一个删除客户(或产品)的静态方法时,我认为创建客户对象只是为了删除它没有意义.在它的主要身份.最后,我觉得没有理由创建客户或产品类,因为不需要特定的方法.
我想问的是,在使用RDBMS时,您如何采用面向对象的方法?
使用OO原则设计Java类.
使用SQL和规范化原则设计数据库.
然后,全速运行对象/关系映射的挑战!:-)
Hibernate和Ibatis等技术专门用于帮助实现这一目标,这是一个记录良好的问题.像Spring这样的其他技术可以让它们的使用非常简单和愉快.
将您的持久性抽象到DAO(数据访问对象)层,例如,如果您有很多像Vehicle和Animal这样的类,那么您将有像VehicleDao和AnimalDao这样的DAO来区分他们如何根据他们从根本上做的事情与数据库进行对话.你的系统.
FWIW,我主张这样做:应用程序方面的优秀应用程序设计,数据方面的良好数据库设计.完成后,总是有一种方法可以在将数据库持久化并从数据库中检索类数据时对两者进行映射,这比使用其中一个单独的层来"帮助"另一个更好的IMO要好.