zoukankan      html  css  js  c++  java
  • ofbiz学习笔记01--多表关联查询

    不管做什么项目,肯定会用到多表关联查询数据,从网络查询得知ofbiz有三种多表关联查询方法

    1. 实现一:Screem.xml 中的 section 里,加 <action>, 加 get-related
    2. 实现二:在代码中使用 DynamicViewEntity对象,加入addMemberEntity,addAlias,addViewLink,再用 find 查询
    3. 实现三:在 entity.xml 里定义 view-entity 实体对象,在查询时就查这个view的对象

    1,方法没写出来,以后再补充

    2, 使用finddListIteratatorByCondtion把他查出来

    DynamicViewEntity dve = new DynamicViewEntity();
                dve.addMemberEntity("tt", "AA");
                dve.addAlias("tt", "userName");
                dve.addAlias("tt", "sex");
                
                  dve.addRelation("one", "", "BB", 
                          UtilMisc.toList(new ModelKeyMap("userName", "userName")));
                
                dve.addMemberEntity("te", "BB");
                dve.addAlias("te", "userName");
                dve.addAlias("te", "name");
                dve.addRelation("one", "", "AA", 
                          UtilMisc.toList(new ModelKeyMap("userName", "userName")));
                dve.addViewLink("te", "tt", false, UtilMisc.toList(new ModelKeyMap("userName", "userName")));
                
                EntityListIterator salesUsageIt = delegator.findListIteratorByCondition(dve, null,null, null, null, null ); 
                list= salesUsageIt.getCompleteList();

    3,方法按我的理解就是相当于平常根据几张表建一个view视图,再查询这个view

    配置view-entity,之后查这个视图就可以了。

    <view-entity entity-name="Vview" package-name="org.ofbiz.test">
    
            <member-entity entity-alias="TY" entity-name="AA"></member-entity>
    
            <member-entity entity-alias="TT" entity-name="BB"></member-entity>
            <alias-all entity-alias="TY"/>
            
    		<alias name="userName" entity-alias="TY" group-by="true"/>
            <alias name="userName" entity-alias="TY"/>
    		<alias name="sex" entity-alias="TY"/>
            <alias name="name" entity-alias="TT"/>
            <alias name="address" entity-alias="TT"/> 
    
            <alias name="userName" entity-alias="TY" field="userName" col-alias="userName"/>
    
            <view-link entity-alias="TY" rel-entity-alias="TT">
                <key-map field-name="userName" rel-field-name="userName"/>
            </view-link>
            <alias name="userName" entity-alias="TT" field="userName" col-alias="userName"/>
    
        </view-entity>
    

      

  • 相关阅读:
    Live2D 看板娘
    Live2D 看板娘
    Live2D 看板娘
    Live2D 看板娘
    Live2D 看板娘
    Live2D 看板娘
    Live2D 看板娘
    Live2D 看板娘
    教你搭建SpringSecurity3框架(附源码)
    浅谈数据库联合查询
  • 原文地址:https://www.cnblogs.com/aliger/p/4563923.html
Copyright © 2011-2022 走看看