zoukankan      html  css  js  c++  java
  • 多表级联查询

                DataPage dataPage = this.getDataPage(request);
                String orderBy = request.getParameter(ContextArgument.GRID);
                SH_AREAS sh_areas = this.bean(request, SH_AREAS.class, false);
                
                sh_areas = service.getPcid(sh_areas); 
                DataTable table = service.table(SH_AREASSql.class,sh_areas, orderBy,dataPage);
                FormSource source = this.source(request);
                source.add(ContextArgument.GRID, table, orderBy );
                source.add(ContextArgument.PGINFO, dataPage );
                source.put(modelMap);
    

      

    public DataTable getArea() throws Exception {
    		DataTable result = null;
    
    		SqlCommand command = new SqlCommand();
    		command.setCommandText(SH_AREASSql.cascade);
    		result = this.sqlProvider().executeQuery(command);
    		return result;
    
    	}
    
    	public SH_AREAS getPcid(SH_AREAS sh_areas) {
    		if (!NoneType.isNullOrEmpty(sh_areas.getTEMP1())) { // 将级联属性赋给临时字段TEMP1
    			String split = ",";
    			String[] areasid = StringUtil.split(sh_areas.getTEMP1(), split);
    			if (areasid.length > 1) {
    				if (!NoneType.isNullOrEmpty(areasid[0])) {
    					sh_areas.setTEMP2(areasid[0]); // areasid[0] 省份码
    					sh_areas.setCITYID(areasid[1]); //areasid[1] 城市码
    				} else {
    					sh_areas.setCITYID(areasid[1]);
    				}
    
    			} else {
    				sh_areas.setTEMP2(areasid[0]);
    			}
    		}
    		return sh_areas;
    	}
    

      

    /**
    	 * table方法所需的SQL语句
    	 */
    	public static final String table = "SELECT SH_AREAS.ID, SH_PROVINCE.PNAME, SH_CITIES.CNAME, SH_AREAS.ANAME "   
    									 + "FROM SH_PROVINCE "
    									 + "RIGHT JOIN SH_CITIES ON SH_CITIES.PROVINCEID = SH_PROVINCE.PROVINCEID "
    									 + "RIGHT JOIN SH_AREAS ON SH_AREAS.CITYID = SH_CITIES.CITYID "
    									 + "WHERE {SH_PROVINCE.PROVINCEID = SH_AREAS.TEMP2 } "
    									 + "AND {SH_CITIES.CITYID  = SH_AREAS.CITYID } ";
    	
    	/**
    	 * cascade方法级联获取省市的SQL语句
    	 */
    	public static final String cascade = "SELECT SH_PROVINCE.PROVINCEID  AS VAL ,  SH_PROVINCE.ALEVEL AS ALEVEL, " 
    									   + "SH_PROVINCE.PARENT_ID AS MODUL, SH_PROVINCE.PNAME AS KEY "
    									   + "FROM SH_PROVINCE " 
    									   + "UNION SELECT SH_CITIES.CITYID , SH_CITIES.ALEVEL, SH_CITIES.PROVINCEID ,SH_CITIES.CNAME " 
    									   + "FROM  SH_CITIES";
    	}
    

      

    -------------------------------------------------------------------------
    ## 极客时间全网最便宜最优惠购买方式,优惠券返现 百度网盘 微信关注公众号“选门好课”
    扫描下方二维码关注我的公众号"选门好课",与我一起交流知识
  • 相关阅读:
    GO-GRPC实践(二) 增加拦截器,实现自定义context(带request_id)、recover以及请求日志打印
    第六章-堆
    第五章-本地方法接口和本地方法栈
    第四章-虚拟机栈
    第三章-运行时数据区及程序计数器
    04-再谈类的加载器
    03-类的加载过程(类的生命周期)详解
    1.编程入门
    SpringBoot 整合 SpringSecurity 梳理
    pip版本过低无法升级问题
  • 原文地址:https://www.cnblogs.com/singworld/p/9754778.html
Copyright © 2011-2022 走看看