文档章节

ibatis 中传入list对象

书中迷梦
 书中迷梦
发布于 2016/08/02 08:55
字数 313
阅读 321
收藏 1

 

1.ibatis中直接传入一个集合形如:List<MdSeller>

 

<select id="query" parameterClass="java.util.HashMap"
      resultClass="com.baosight.b2c.yo.domain.OrdOrder">
   SELECT
    *
   FROM
   yiyao_b2c.ord_order as oo join
   (select * from (
   <isNotEmpty prepend=" " property="orderSourceList">
        <iterate property="orderSourceList" conjunction="union" open="(" close=")">       
      SELECT  JD_ORDER_ID as jdOrderId,
         CONCAT(AVG(UPDATE_TIME),JD_ORDER_ID) orderColumn
         FROM yiyao_b2c.ord_order
         where IS_DELETE=0 and  ORDER_SOURCE = #orderSourceList[]#
      <isNotEmpty prepend=" AND " property="jdOrderId">
         JD_ORDER_ID like concat('%',#jdOrderId#,'%')
      </isNotEmpty>
      <isNotEmpty prepend=" AND " property="status">
         STATUS = #status#
      </isNotEmpty>
      <isNotEmpty prepend=" AND " property="partnerId">
         PARTNER_ID = #partnerId#
      </isNotEmpty>
      <isNotEmpty prepend=" AND " property="orderSource">
         ORDER_SOURCE = #orderSource#
      </isNotEmpty>
      
      <isNotEmpty prepend=" AND " property="orderTimeStartDate">
         ORDER_TIME &gt;= #orderTimeStartDate#
      </isNotEmpty>
      <isNotEmpty prepend=" AND " property="orderTimeEndDate">
         ORDER_TIME &lt;= concat(#orderTimeEndDate#,${iplat.time.suffix})
      </isNotEmpty>
      <isNotEmpty prepend=" AND " property="receiver">
         RECEIVER like concat('%',#receiver#,'%')
      </isNotEmpty>
      <isNotEmpty prepend=" AND " property="mobile">
         MOBILE like concat('%',#mobile#,'%')
      </isNotEmpty>
      GROUP BY JD_ORDER_ID
         </iterate>
   </isNotEmpty>
   ) as aa)orderColumnTable
        on oo.JD_ORDER_ID=orderColumnTable.jdOrderId 
   where oo.IS_DELETE=0
   <isNotEmpty prepend=" AND " property="id">
      oo.ID = #id#
   </isNotEmpty>
   <isNotEmpty prepend=" AND " property="orderNo">
      oo.ORDER_NO like concat('%',#orderNo#,'%')
   </isNotEmpty>
  <isNotEmpty prepend=" AND " property="mySeller"> 
        oo.SELLER_ID  in 
      <iterate open="(" close=")" conjunction=",">           
          #mySeller[].id#        
            </iterate>
    </isNotEmpty>
   <isNotEmpty prepend=" AND " property="jdOrderId">
      oo.JD_ORDER_ID like concat('%',#jdOrderId#,'%')
   </isNotEmpty>
   <isNotEmpty prepend=" AND " property="kjtSosysNo">
      oo.KJT_SOSYS_NO like concat('%',#kjtSosysNo#,'%')
   </isNotEmpty>
   <isNotEmpty prepend=" AND " property="status">
      oo.STATUS = #status#
   </isNotEmpty>
   <isNotEmpty prepend=" AND " property="partnerId">
      oo.PARTNER_ID = #partnerId#
   </isNotEmpty>
   <isNotEmpty prepend=" AND " property="orderSource">
      oo.ORDER_SOURCE = #orderSource#
   </isNotEmpty>
   <isNotEmpty prepend=" AND " property="orderTimeStartDate">
      oo.ORDER_TIME &gt;= #orderTimeStartDate#
   </isNotEmpty>
   <isNotEmpty prepend=" AND " property="orderTimeEndDate">
      oo.ORDER_TIME &lt;= concat(#orderTimeEndDate#,${iplat.time.suffix})
   </isNotEmpty>
   <isNotEmpty prepend=" AND " property="receiver">
      oo.RECEIVER like concat('%',#receiver#,'%')
   </isNotEmpty>
   <isNotEmpty prepend=" AND " property="mobile">
      oo.MOBILE like concat('%',#mobile#,'%')
   </isNotEmpty>
   <isNotEmpty prepend=" AND " property="sqlFilter">
      ($sqlFilter$)
   </isNotEmpty>
   <dynamic prepend="ORDER BY">
        <isNotEmpty property="orderBy">
            $orderBy$
       </isNotEmpty>
      <isEmpty property="orderBy">
          orderColumnTable.orderColumn desc
   </isEmpty>
      </dynamic>

</select>

2.标红的地方需要注意,不然会报错

© 著作权归作者所有

书中迷梦
粉丝 3
博文 30
码字总数 9477
作品 0
徐汇
程序员
私信 提问
加载中

评论(2)

s
shysnow
很好,很强大,参照这个解决了我的问题。
i
itxx2016
推荐国内最流行的ibatis代码生成网站 --- fwjava.com
无需任何安装配置,直接在线生成,且十分规范好用.
现在,很多知名的互联网公司都在用它.
ibatis学习(一)--ibatis介绍以及用例 [转]

介绍 iBATIS是以SQL为中心的持久化层框架。能支持懒加载、关联查询、继承等特性。 iBATIS不同于一般的OR映射框架(eg:hibernate)。OR映射框架,将数据库表、字段等映射到类、属性,那是一种元...

B.H.
2012/09/26
0
0
使用 ibatis 处理复杂对象数据关系的实例

ibatis 基本介绍 起源于 2001 年的开放源代码项目 ibatis,是一个基于 Java 的持久层框架。与 Hibernate, Toplink 等持久化框架不同,ibatis 是一个 “半自动化”的 ORM 实现。ibatis 没有对...

红薯
2010/09/05
1K
4
Spring整合Ibatis之SqlMapClientDaoSupport

Spring通过DAO模式,提供了对iBATIS的良好支持。SqlMapClient对象是iBATIS中的主要对象,我们可以通过配置让spring来管理SqlMapClient对象的创建,继而整合iBatis和Spring。 与hibernate类似...

Gillian_Male
2012/08/03
0
1
深入分析 iBATIS 框架之系统架构与映射原理

简介: iBATIS 通过 SQL Map 将 Java 对象映射成 SQL 语句和将结果集再转化成 Java 对象,与其他 ORM 框架相比,既解决了 Java 对象与输入参数和结果集的映射,又能够让用户方便的手写使用 ...

老盖
2010/11/11
2.2K
3
关于ibatis使用方面一个问题的请教

我是初次接触ibatis,以前用过一段时间的hibernate,现在准备将一个基于hibernate框架的应用移植到ibatis下面,但是现在我有一个疑惑。我这里有一个bean文件,基本定义如下: public class O...

陈立敏
2013/07/09
173
2

没有更多内容

加载失败,请刷新页面

加载更多

docker中部署的应用,获取含有中文字符的验证码图片时无法正常显示

使用docker过程中遇过的最诡异的问题,服务在本地环境中,通过在IDEA里面运行,或者使用java -jar ***.war运行,获取验证码图片都没有问题,但是运行在docker中,图片正常返回,但是上面的汉...

莫在全
25分钟前
1
0
postgres+socket.io+nodejs实时地图应用实践

nodejs一直以异步io著称,其语言特性尤其擅长于在realtime应用中,如聊天室等。在进行实时应用开发时,必不可少的需要用到 socket.io库,可以说,nodejs+socket.io在实时应用中具有较好的表现...

dragon_tech
31分钟前
2
0
Java开发面试题汇总

目前流行的开发技术、常见的面试问题以及问题的答案都已经写的特别清楚了,今天我在之前的基础上,再基于个人的经验继续精选一些面试题给大家阅读参考。 1,Java的反射 Java 反射机制是在运行...

花漾年华
35分钟前
4
0
聊聊flink jdbc的ParameterValuesProvider

序 本文主要研究一下flink jdbc的ParameterValuesProvider ParameterValuesProvider flink-jdbc_2.11-1.8.0-sources.jar!/org/apache/flink/api/java/io/jdbc/split/ParameterValuesProvide......

go4it
35分钟前
1
0
UserInputControls用户输入控制

enum UserInputControls { kGovernedByOrthoMode = 0x0001,//正交模式管理 kNullResponseAccepted = 0x0002,//允许输入空 kDontEchoCancelForCtrlC = 0x0004,//ctrl C 模式不能重复......

一个小妞
57分钟前
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部