mybatis取主从表关联数据时,两次取还是一次取好?

mybatis取主从表关联数据时,可以先取主表,根据主表id为条件再取子表,也可以配置好resultMap,用表连接语句一次取出组装为对象。请大家评估一下哪种更好呢?
我感觉两次取更清晰,代码也简洁(属性名和字段名相同时可以直接映射类不需要写resultMap),但是需要两次调用连接查询;一次取要写复杂的resultMap及表连接语句,比较麻烦,但只有一次连接数据库过程,但据说有一个n+1问题会消耗一定性能,所得好处是否就抵消了呢?
如果两次取更好,mybatis干嘛还弄那么麻烦的关联查询呢?

阅读 2.5k
1 个回答

我觉得还是分两次取,更清晰。
至于两次连接数据库的开销,我觉得几乎不存在,因此肯定会使用数据库连接池,所以这个可以忽略。
使用mybatis做简单映射就可以了,复杂的映射mybatis支持,但是我们可以取舍,可以不使用。

推荐问题