数据Mapper模式怎么编写?

  • 回答 (3)
  • 关注 (0)
  • 查看 (35)

以下示例:

如果我有两个表--Customer和CustomerParameters。CustomerParameters表包含用于创建新客户的默认客户值。

然后,我必须创建一个CustomersMapper类来处理所有的客户持久性。然后,我的Customer和CustomersList类将与此mapper类协作,以便持久化客户数据。

我有以下问题:

  1. 如何在不违反某些业务规则的情况下将原始数据TO 和FROM从我的Customer类传输到映射程序?
  2. 我的Mapper类中有一个SaveAll和loadall方法,用于更新和加载多个客户的数据,这是可以接受的吗?如果是这样的话,如果是SaveAll,映射器如何知道何时更新或插入数据?
  3. 客户映射类也将负责从CustomerParameters表检索默认值,还是创建CustomerParameters映射程序更好?

O/R映射器工具实际上并不在这里。我所使用的数据库是事务式的,需要我编写自己的Mapper模式。

超级大菜鸟超级大菜鸟提问于
a563831029跑龙套 走马灯回答于

AD1)Mapper负责创建客户对象。

AD2)检索/持久化是Mapper对象上的方法。

AD3)可以将Mapper对象的各个方面分离为不同的类:默认值、规则验证等等。

Martin Fowler的书企业应用体系结构模式

回答过的其他问题

是否有一种方法可以禁用jQueryDataTables的初始排序?

a563831029跑龙套 走马灯
将“aSorting”设置为空数组: $(document).ready( function() { $('#example').dataTable({ /* Disable initial sort */ "aaSorting": []...... 展开详请

申请合同前是否可以提供合同范本供客户查阅?

a563831029跑龙套 走马灯

在控制台--用户中心-- 合同管理--申请合同页面下方,点击“预览合同样本”,用户可直接预览合同样本内容。

安装vue-cli时出错

a563831029跑龙套 走马灯
我的Mac上也有问题,但也许这里有一些提示可以帮到你 转到文件夹:C:\ Users \ End User \ AppData \ Roaming \ npm \ node_modules(在windows中确保启用所有文件夹) 将文件夹@vue和vue-cli移动到垃圾箱(以...... 展开详请

计算R中范围内的数值

a563831029跑龙套 走马灯
能做: library(tidyverse) crossing(ra, ev) %>% group_by(a, b) %>% summarise(hits = sum(between(time, a, b))) 输出: # A tibble: 4 x 3 # Gro...... 展开详请

在TFS 2015在线,标题旁边的彩色框是什么?

a563831029跑龙套 走马灯
已采纳
颜色是工作项类型颜色,每个工作项类型都有他的颜色,它们仅在Web UI中可用,而不在VS中。 通常,红色表示Bug,黄色表示Task。 颜色在进程配置XML文件中定义,您可以导出文件(带witadmin exportprocessconfig ...)并将颜色更改为您想要的颜色...... 展开详请

在类中“存储”对象意味着什么?

a563831029跑龙套 走马灯
考虑这个问题的好方法是将值赋给类的变量(属性)。即使你有多个同一个类的对象,每个类都会有这些变量的随机值,因为你正在使用这个Random类。 对于使用您的代码示例,您可以有两个CardClass对象,所以它们都具有cardSuit和cardNum变数,但cardSuit并car...... 展开详请

关于作者

所属标签

扫码关注云+社区