我想请问下 如果有66个表 mybatis是根据每个表对应一个xml,今天有个领导说一个表对应一个xml是不规范的,应该是按照页面功能划分,一个页面对应一个xml,如果页面中用到多个表也要写在一个xml里,因为我觉得会有很多重复的resultMap 所以我就有点懵,页面对应xml才是规范的嘛
1条回答 默认 最新
关注引自免费微信小程序:皆我百晓生
MyBatis 是一个优秀的持久层框架,通常用于帮助开发者更容易地映射 SQL 查询到 Java 对象上。关于 MyBatis 的配置是否按照表去建立还是按照页面功能去建立,实际上并没有固定的规范,这主要取决于项目需求和团队约定。
在实际应用中,两种做法都有其合理性和使用场景:
- 按照表建立 XML 配置文件:这种方式的优点是每个表的 SQL 映射清晰、独立,易于管理和维护。每个 XML 文件对应一个表,内容相对简单,如果一个表的结构发生变化,只需要修改对应的 XML 文件。但是,如果一个页面涉及多个表的交互,可能需要跨多个 XML 文件,这可能会增加开发的复杂性。
- 按照页面功能建立 XML 配置文件:这种方式是根据业务逻辑来划分 XML 文件,一个 XML 文件可能包含多个表的 SQL 映射。这种方式的好处是,与页面功能紧密相关,开发时可以更直观地理解业务逻辑。如果一个页面涉及多个表的数据交互,只需要在一个 XML 文件中处理,减少了跨文件调用的复杂性。但是,如果一个表需要在多个页面中使用,可能会导致重复定义 resultMap。
在实际项目中,可以根据项目规模和团队约定来选择合适的方式。如果项目规模较大,表结构复杂,建议采用第一种方式;如果业务逻辑复杂,页面交互频繁,可以考虑第二种方式。无论哪种方式,最重要的是保持代码的可读性和可维护性。
对于你提到的重复 resultMap 问题,可以通过合理的设计来避免。例如,可以在一个通用的地方定义一些公共的 resultMap,然后在多个 XML 文件中引用这些公共的 resultMap,以减少重复代码。
总之,选择哪种方式并没有绝对的规范,需要根据实际情况和项目需求来决定。
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报 编辑记录