Mybatis调用oracle自定义函数
这是我的自定义函数:create or replace function wquery.fn_get_orderlist(invarpid varchar2,
invarstartTime varchar2,
invarendTime varchar2,
invarorderId varchar2,
invardealId varchar2,
inintpageNo integer default 1,
inintpageSize integer default 30,
outintrowcnt out integer,
outcurlist out sys_refcursor)
return integer is
begin
open outcurlist for
select 1 from dual;
case
when invarpid is null then
return - 1;
when invarstartTime is null and invarendTime is null and
invarorderId is null and invardealId is null then
return - 1;
else
null;
end case;
---返回总数量
select count(1)
into outintrowcnt
from wops.t_transaction_order z, wops.t_order_b2c_extra_info b
where b.partner_id = invarpid
and (b.trade_id = invarorderId or invarorderId is null)
and (z.id = invardealId or invardealId is null)
and z.id = b.id
and (z.created_time >= to_date(invarstartTime, 'yyyymmddhh24miss') or
invarstartTime is null)
and (z.created_time < to_date(invarendTime, 'yyyymmddhh24miss') or
invarendTime is null);
--返回条目
open outcurlist for
select (select stragg(to_char(t.created_time, 'yyyymmddhh24miss') || ':' ||
current_status || ':' || order_amount || ':' ||
receivable_fee || ':' ||
to_char(sharing_time, 'yyyymmddhh24miss') || ':' ||
sharing_seq_id)
from wops.t_transaction_order t, wops.t_async_sharing_info a
where t.id = a.id(+)
and t.parent_business_id = z.business_id) suborders,
z.*
from (select *
from (select z.*, rownum rn
from (select b.trade_id, b.partner_id, z.*
from wops.t_transaction_order z,
wops.t_order_b2c_extra_info b
where b.partner_id = invarpid
and (b.trade_id = invarorderId or
invarorderId is null)
and (z.id = invardealId or invardealId is null)
and z.id = b.id
and (z.created_time >=
to_date(invarstartTime, 'yyyymmddhh24miss') or
invarstartTime is null)
and (z.created_time <
to_date(invarendTime, 'yyyymmddhh24miss') or
invarendTime is null)
order by z.created_time) z)
where rn > inintpageSize * (inintpageNo - 1)
and rn > inintpageSize * inintpageNo) z;
return 0;
end fn_get_orderlist;
/
请问我用mybatis怎么进行调用返回 MyBatis select 函数 --------------------编程问答-------------------- 自己顶下 各位大神啊 --------------------编程问答-------------------- 为什么没有人啊 --------------------编程问答-------------------- <select id="..." parameterType="..." resultType="..." >
select wquery.fn_get_orderlist(参数) as result from dual
</select> --------------------编程问答-------------------- 改成存储过程。 --------------------编程问答-------------------- 好吧 自己解决了 --------------------编程问答-------------------- 用ibatis调用过存储过程 不知道是不是一个原理
<parameterMap id="pm_user_info" class="java.util.Map">
<parameter property="acdGroup" javaType="String" jdbcType="varchar2" mode="IN"/>
<parameter property="mobilePhone" javaType="String" jdbcType="varchar2" mode="IN"/>
<parameter property="email" javaType="String" jdbcType="varchar2" mode="IN"/>
<parameter property="themes" javaType="String" jdbcType="varchar2" mode="IN"/>
<parameter property="state" javaType="String" jdbcType="varchar2" mode="IN"/>
<parameter property="gender" javaType="String" jdbcType="varchar2" mode="IN"/>
<parameter property="memo" javaType="String" jdbcType="varchar2" mode="IN"/>
<parameter property="regDate" javaType="String" jdbcType="varchar2" mode="IN"/>
</parameterMap>
<procedure id="proc_add_user_bcaUser" parameterMap="pm_user_info" resultClass="int">
{call proc_add_user_bcaUser(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)}
</procedure>
补充:Java , Java EE