sqlMap.xml中的查询返回情况

1、直接返回单列的list , resultType为list中元素的类型

 <!-- 返回esc_orderidlist -->

 <select id="selectActutalOrderRecords" parameterType="java.util.Map" resultType="java.lang.String" >

       <![CDATA[

         SELECT t.esc_orderidfromt_ws_sett_data_record t 

         where t.create_time  >=to_date(#{begdate},'yyyy-MM-dd') and t.create_time < to_date( #{enddate},'yyyy-MM-dd')

         group by  t.esc_orderid

       ]]>  

  </select>

 

2、直接返回对象的list, resultType为对象类型

 <!--

     1parameterTypemap2.put("list",slist); 将参数为list转换为in中的内容

     2、返回 FailureOrderDto对象的list

 --> 

 <select id="selectOrderFailureReasons" parameterType="java.util.Map" resultType="com.ule.dto.FailureOrderDto">

SELECTTT.ESC_ORDERID AS ECSORDERID,TT.REPLY_DESC AS REMARK,DECODE(TT1.VERSION,'5','5.0',4,'4.0','3','3.0',3.0)  AS FVERSION FROM                  T_WS_REPLY_RECORDTT,T_WS_SETT_DATA_RECORD TT1

    WHERE TT.ESC_ORDERID=TT1.ESC_ORDERID AND TT.ESC_ORDERID IN 

    <foreach collection="list"item="item" index="index"open="(" close=")"separator=",">

        #{item}

    </foreach>

  </select>

 

3、直接返回resultType类型Integer

     <!-- 直接返回Integer -->

     <select id="countNumOfInvoiceInfo" parameterType="java.util.Map" resultType="java.lang.Integer">

                selectcount(1) from Invoice_Info ii where 1 = 1

                <if test="escOrderid !=null">

                     andii.esc_orderid = #{escOrderid}

                </if>

     </select>

4、直接返回resultType类型String

     <!-- 直接返回String -->

     <select id="queryEscOrderid" parameterType="java.util.Map"resultType="java.lang.String">

                selectesc_orderid from Invoice_Info ii where and id = #{id}

     </select>

 

5、返回的list中是map对象,以前最常用的一种 ,这里的resultType给为了resultMap

<!-- 返回的list中是map对象,propertymapkey -->

 <resultMap id="queryInvoiceEWM" type="java.util.HashMap" >

   <result column="id" property="id"/>

   <result column="invoice_no" property="invoiceNo" />

   <result column="amount" property="amount"/>

   <result column="ewm" property="ewm"/>

   <result column="bussiness_type" property="bussinessType" />

 </resultMap>

 <select id="queryInvoiceEWM" parameterType="java.util.Map" resultMap="queryInvoiceEWM">

   select

   i.id,

   i.invoice_no,

   i.amount,

   dbms_lob.substr(h.ewm) ewm,

   i.bussiness_type

   from invoice_handle h ,invoice_info i

   where h.valid_flag=1

   and i.valid_flag=1

   and i.status = '2'

   and i.type = '0'

   and i.invoice_no = h.invoice_no

   and i.esc_orderid=#{escOrderid}

  </select>

6、总结:

     a如果查询结果是只有一行一列,则可以直接用resultType类型接收;

      b、如果查询的数据是多行一列,则返回回resultType类型的list

      C、如果查询结果是一行多列、多行多列,则返回的list中是行对象或行的Map

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值