【问题标题】:is it normal to have Mappers and Extractors for each domain model?每个域模型都有映射器和提取器是否正常?
【发布时间】:2011-12-07 12:53:56
【问题描述】:

我正在处理我的薪资计划,目前我有 6 个软件包,总共有 22 个课程,可以吗?我有 4 个域模型,每个模型都有映射器和提取器。而且我还有别的课,这样好吗???

编辑 这里看看 员工、用户、人员、联系人 我的

【问题讨论】:

  • 您能否提供更多关于您如何组织课程的详细信息,您是否利用了分层方法,有多少道? 6 个包和 22 个类并不能说明什么。
  • 这里我提供了一个截图,请看一下:)
  • 这些类是否用于从 JDBC 结果集中提取元素并将它们分配给对象的属性?如果是这种情况,您可能需要考虑使用诸如 Hibernate 之类的 ORM。
  • 好的,谢谢你的帮助:)

标签: spring class dao jdbctemplate


【解决方案1】:

Rowmappers 和 ResultSetExtractors 相似(但不相同)。所以重新定义它们是没有意义的。由于您有 4 个模型和 8 个映射器+提取器,我认为这就是我正在谈论的情况。他们可能正在执行相同的“查询结果到模型”映射,您应该省略其中之一。但是,如果您说您的 XRowMapper 和 XResultSetExtractor 没有执行相同的“查询结果到模型映射”,那么就没有什么可省略的了。

Rowmappers 级别更高,所以如果我可以使用它们完成工作,我会选择它们并省略每个域模型的结果提取器。

【讨论】:

  • 他们都对不同的表执行不同的查询,这还合理吗?有执行吗??或者你在说什么的例子?因为我有点迷路了
  • 如果对同一个表使用提取器和映射器,那就是多余的。即使查询不同,您也可以只使用其中一个来实现所有查询。查看here 的rowmapper 和here 的resultSetExtractor。您只需创建一个对象,使用结果集用您的数据库值填充它并返回新对象。在您的情况下,无需同时使用这两种类型的对象。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-10-26
  • 1970-01-01
  • 1970-01-01
  • 2016-07-18
  • 2012-04-27
  • 2011-04-13
相关资源
最近更新 更多