回答

收藏

MyBatis:通过注释在查询中收集

技术问答 技术问答 188 人阅读 | 0 人回复 | 2023-09-14

我有一个xml映射器-一个选择和一个结果映射器。它的工作没有问题。但我想用注释。我的地图画家:$ O* {! i$ V+ U( i3 G5 X
           <i>                <i>                  所以我是真的
- ~- z+ G; |+ `, h            @Results(((((((                        @Result(id=true,property=&quot;id&quot;,column=&quot;Id&quot;),       @Result(property=&quot;comment&quot;,column=&quot;Comment&quot;),       ///,???            })   public List[I] select();我不知道如何不执行另一个sql通过注释映射我的集合进行查询。作为所有的例子,我假设需要进行另一个查询。请帮忙。
( b+ X+ p% |3 ~( B% Q4 P6 [                                                               
. e5 m. ]+ U- E- B! K8 w    解决方案:                                                               
& l5 H! t& ^, ^$ g1 k                                                                AFAIK,JOIN若使用带注释的映射,则不能使用。- x! m: u  q* Q
在文档中,相关用法@Many,
- \. ?* X3 m) ~' C; `6 l  V7 [复杂类型collection属性映射。select可以加载适当类型实例的集合映射语句(即mapper方法)全限定名称fetchType,它取代了映射的全球配置参数lazyLoadingEnabled。
& e0 k& E2 i% z9 b( Z+ M注意你会注意到的注释API不支持联接映射。这是因为Java不允许循环引用注释中的限制。( S2 e- Y+ h5 _3 P' T. P1 z% f& K
如果你愿意,你可以直接ResultMap与注释一起使用:6 z4 v! }/ o& x" m, F
@Select(&quot;SELECT QUERY&quot;)@ResultMap(&quot;readItemsRM&quot;)public List[I] select();;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则