我正在使用Java中的数据映射器模式来访问数据库。可以在另一个映射器内调用映射器吗?就我而言,映射器应该独立工作而不依赖于其他映射器,但似乎与我一起工作在同一项目中的其他人有不同的意见。
举个例子:我有一个Customer对象和一个ContactPerson对象。 Customer在其中有一个ContactPerson对象作为字段。为了从数据库中获取数据,我同时拥有CustomerMapper和ContactPersonMapper。从数据库中检索Customer数据时,我需要同时获取其ContactPerson数据。在CustomerMapper中使用ContactPerson映射器是一个好主意,还是应该让映射器完全相互独立?
答案 0 :(得分:1)
我猜你在这里使用类似于spring jdbctemplate和mappers的东西。我经常使用这种模式,我倾向于同意你的观点。我从不在映射器中调用第二个映射器。在我看来,当映射器是独立的时,代码更容易测试和读取。我更喜欢在DAO中尽可能少地使用逻辑,并将逻辑留给其他代码级别。
在过去的几次我在映射器中制作逻辑以将结构映射到更高级的对象,但我已经远离了甚至这样做。我认为最好的方法是让映射器非常简单。