<select id="getProductEnableNumberInfos" resultMap="productMap" >
		  SELECT CDSK_ITEM_CODE ProductCode,WMST_SKU_UNIT ProductUnit,WMST_ENABLED_NUMBER ProductNum from (
			  <foreach collection="conditions.list" item="item" index="index" separator="union all">
				SELECT c.CDSK_ITEM_CODE,WMST_SKU_UNIT,SUM(WMST_ENABLED_NUMBER) WMST_ENABLED_NUMBER FROM wm_stock_${conditions.esCorCode} w 
				LEFT JOIN cd_wh_itme_${conditions.esCorCode} c ON w.WMST_SKU_ID=c.CD_ITEM_ID
				WHERE c.CDSK_ITEM_CODE=#{item.ProductCode,jdbcType=VARCHAR}
				AND w.WMST_SKU_UNIT=#{item.ProductUnit,jdbcType=VARCHAR} 
				AND w.WMST_WR_ID=${conditions.wrId} AND w.WMST_CUSTOMER_CODE=#{conditions.customerCode,jdbcType=VARCHAR} 
		      </foreach>
		     ) alias WHERE alias.WMST_ENABLED_NUMBER>0;
	</select>
原文链接: https://my.oschina.net/boonya/blog/690694 &lt;select id="selectAllReportByPage" resultMap="BaseResultMap"&gt; &lt;if test="params.type != null and params.type!='' and params.type==1 "&gt; select id,name,1 as idx, CONCAT(LEFT(id_no,3), '***... 1.需求分析 很多情况下,我们会遇到类似的需求:混合型的列表再进行分类;这种情况,可以考虑java逻辑层面两个甚至更多的list相加,然后最后进行排序,但是一旦进行分页,排序可能就混乱了,这个笔者建议直接在sql里面 union all多个结果集,然后对整体进行排序2. UNION ALL 与 UNION 的区别 Union :对两个结果集进行并集操作,不包括重复行,同时进行默认规则的排序; Union Al... Mybatis union 循环 <foreach collection="nameList" item="name" separator=" union "> select id from table where name = #{name} </foreach> List<Object> getList(@Param("nameList")String[] nameList); 这里 mybatis 在实现 union 操作时,用到的是foreach 标签,foreach标签用于 循环 语句,它很好的支持了数据和 List、set 接口的集合,并对此提供遍历的功能。在 查询 内容格式一致的情况下,便可以用Java的数据库连接工具模拟mysql中 union 的操作,这里我用的数据库交互工具是 mybatis 。这里的操作属于 mybatis 的一个灵活运用,算是一个处理思路,鉴于网上现有相关思路不多,个人完成了测试,可以当做一种解决办法,提高一下程序的执行效率,避免多次连库。 缓存:缓存就是用来提高 查询 访问速度,就是将每次的访问记录缓存在一地方,在下次进行 查询 时首先访问的不是数据库,而是缓存,如果在缓存中 查询 到了该次 查询 条件的结果集就直接返回结果,不再访问数据库。这样就对数据库的操作次数上就减少了很多,从而提高访问速度。当然,在 查询 缓存的机制中有两种不同的作用域(生命周期),分别为一级 查询 与二级 查询 缓存。 1、一级缓存(即本地缓存):sqlSession级别的缓存,这...         parameterType="java.lang.String">             select t3.farmid farmid,t3.strname strname,t3.state state,t3 如果为空,根据这个表的另外一个字段 查询 ,用 union 连接对结果去重即可 &lt;select id="selectByNull" resultMap="BaseResultMap"&gt; SELECT DISTINCT b.SAMPLE_NO, b.ID, b.SPECIMEN_ID, b.RECEIVE... where 主要是用来简化 sql 语句中 where 条件判断,自动地处理 AND/OR 条件,and ,or等关键字可以多不可以没有,多了会自动去掉,少了会报错。 where用来包含多个if的,当多个if有一个成立的时候where会自动增加一个where关键字,并去掉if中多余的and,or等 使用where标签,在有 查询 条件中,可以自动添加上where子句;没有 查询 条件时,不会添加where子句。需值得注意的是:第一个if标签中的sql片段。可以不包含a...