- 浏览: 100961 次
- 性别:
- 来自: 深圳
文章分类
- 全部博客 (209)
- http://docs.jpush.io/server/java_sdk/ (1)
- SpingMVC ModelAndView (1)
- Model (1)
- Control以及参数传递 (1)
- https://www.alipay.com/ (1)
- 检查指定的字符串列表是否不为空。 (1)
- 转自http://my.oschina.net/rpgmakervx/blog/505434 (1)
- 压缩js (1)
- 含包含 字母数字校验 (1)
- 判断浏览器是ie (1)
- fixbox (0)
- 转自http://www.cnblogs.com/lanzi/archive/2010/10/26/1861338.html (1)
- http://dl2.iteye.com/upload/attachment/0113/2406/afbd8d53-dcad-3afc-8d78-41c1591 (0)
- IDEA (0)
- maven搭建 (0)
- http://www.jeasyuicn.com/api/docTtml/index.htm (1)
- 给tomcat添加运行内存: (1)
- JPUSH推送 (1)
- requestScope (0)
- oracle中plsql安装client10连接数据库 (1)
- 不需要安装oracle11g (1)
- tuikuan (1)
- http://www.hjxmall.com/index.php (1)
- java (1)
- 参考 (1)
- xml签名验签模拟程序 (1)
- 技术网站收集分享 (1)
- Java NIO提供了与标准IO不同的IO工作方式 ------来源于 http://www.iteye.com/magazines/132-Java-NIO (1)
- oracle表查询语句优化 (0)
- oracle (5)
- a (1)
- TenpayHttpClient (2)
- mongodb (1)
- http://www.qcloud.com/product/cmongo.html?utm_source=pcsem1&utm_medium=bdgj46&utm_campaign=baidu (1)
- SpringMVC整合MongoDB开发 (0)
- SpringMVC整合MongoDB开发 https://www.mongodb.org (1)
- Java 语言中常见问题总结 (1)
- 数据库SQL优化大总结 (1)
- 拦截器与过滤器的区别 (1)
- Struts2中拦截器与过滤器的区别及执行顺序 (1)
- Spring声明式事务管理与配置 (0)
- oracle OPERTION (1)
- java 高并发多线程开发 (1)
- Collection 与 map 接口相关集合 (1)
- 多线程开发实践 (1)
- JVM调优总结 转自 http://www.importnew.com/18694.html (1)
- redis 五种数据类型的使用场景 转自于 http://blog.csdn.net/gaogaoshan/article/details/41039581 (1)
- HttpWatch http基础 来自于http://blog.csdn.net/gaogaoshan/article/details/21237555 (1)
- maven 远程仓库 http://blog.csdn.net/gaogaoshan/article/details/40266779 (1)
- 生成Webservice客户端的4中方法 http://blog.csdn.net/gaogaoshan/article/details/8980775 (1)
- http://fgh2011.iteye.com/blog/1564283 (1)
- sleep和wait有什么区别 http://xiaowei2002.iteye.com/blog/2174188 (1)
- JDK中常用包及其类 常见的几种RuntimeException (1)
- Java的运行原理 (1)
- mybatis缓存的使用及理解 http://my.oschina.net/dxqr/blog/123163 (1)
- 软件架构设计分析 (1)
- redis技术总结 (3)
- java面试总结知识点 (1)
- ZooKeeper技术 (1)
- Hadoop (1)
- sso单点登录 (1)
- SpringIOC (1)
- 书签ssssssssssssssssssssss (1)
- spring事务的隔离级别 http://www.cnblogs.com/yangy608/archive/2011/06/29/2093478.html (1)
- 秒杀系统架构分析与实战 http://www.importnew.com/18920.html (1)
- oracle 连接plsql配置 (1)
- maven工程集成springmvc http://blog.csdn.net/fox_lht/article/details/16952683 (1)
- java类序列化与反序列化版本唯一号serialVersionUID (1)
- spring注解用法总结 (1)
- eclipse导入maven项目找不到资源文件方法 (1)
- dubbo (0)
- socket 网络编程 服务器与客户端 编程 (1)
- Thread与Runnable实现线程利用线程插队实现求和操作 (1)
- 生产者与消费者模式 (1)
- JAXB注解 java 关于xml的注解,自动生成xml文件 - @XML*** (1)
- xml 与JAVAbean转换 (1)
- MAP (2)
- decimalToString (1)
- 反编译插件 (0)
- 反编译插件 https://sourceforge.net/projects/jadclipse/?source=typ_redirect (1)
- AWX (1)
- 官网地址Dinp (1)
- public interface ExecutorService extends Executor (1)
- MAIN (1)
- 转自于 http://blog.csdn.net/lufeng20/article/details/24314381 (1)
- JaxbUtil (1)
- HttpXmlClient (0)
- Http post 请求 (1)
- URLDecoder (1)
- spdb (0)
- 订单号生成规则 (1)
- 距离0点毫秒数 (1)
- MyBatis存储过程调用java (1)
- Banks (1)
- 学习网址 (1)
- hots配置oracle数据库配置修改 (1)
- 支付宝文档 (1)
- Jadclipse (1)
- filter (0)
- Filter过滤器 (1)
- 工具类 fixbox (1)
- java quartz (0)
- java quartz 实现定时任务,每个礼拜一到礼拜五定时执行 (1)
- Thread (4)
- getResourceAsStream (1)
- BigData (1)
- 开源架构 (17)
- 架构 (0)
- 文件操作 (2)
- tools (20)
- 测试工具 (1)
- vm (1)
- mq (1)
- blog (1)
- 开源架构搭建技术 (6)
- JAVA细节技术点总结 (1)
- 优化技术 (1)
- LINUX命令使用 (1)
- spring (2)
- 大数据 (1)
- struts2 (1)
- python (1)
- pay (1)
- linux (1)
- 压力测试 (1)
- 代码检查插件 (1)
- 游戏端开发 (1)
- 微信开发相关 (1)
- 搜索引擎 (1)
- 网络技术 (1)
- 分布式部署 (1)
- 堆栈信息 (1)
最新评论
<parameterMap class="java.util.Map" id="countChargeMap">
<parameter property="merchantId" jdbcType="VARCHAR" javaType="java.lang.String" mode="IN"/>
<parameter property="payClassId" jdbcType="INTEGER" javaType="java.lang.Integer" mode="IN"/>
<parameter property="amount" jdbcType="DECIMAL" javaType="java.math.BigDecimal" mode="IN"/>
<parameter property="bankCharges" jdbcType="DECIMAL" javaType="java.math.BigDecimal" mode="IN"/>
<parameter property="dinpayCharge" jdbcType="DECIMAL" javaType="java.math.BigDecimal" mode="INOUT"/>
<parameter property="oneProxyCharge" jdbcType="DECIMAL" javaType="java.math.BigDecimal" mode="INOUT"/>
<parameter property="twoProxyCharge" jdbcType="DECIMAL" javaType="java.math.BigDecimal" mode="INOUT"/>
<parameter property="threeProxyCharge" jdbcType="DECIMAL" javaType="java.math.BigDecimal" mode="INOUT"/>
<parameter property="riskCharge" jdbcType="DECIMAL" javaType="java.math.BigDecimal" mode="INOUT"/>
<parameter property="proxy1Id" jdbcType="VARCHAR" javaType="java.lang.String" mode="INOUT"/>
<parameter property="proxy2Id" jdbcType="VARCHAR" javaType="java.lang.String" mode="INOUT"/>
<parameter property="proxy3Id" jdbcType="VARCHAR" javaType="java.lang.String" mode="INOUT"/>
</parameterMap>
<procedure id="callCharge" parameterMap="countChargeMap">
<![CDATA[
{call COUNTCHARGENOPROXY(?,?,?,?,?,?,?,?,?,?,?,?) }
]]>
</procedure>
CREATE OR REPLACE PROCEDURE COUNTCHARGENOPROXY(V_MERCHANTID IN VARCHAR2,--商家号
V_PAYCLASSID IN NUMBER,--支付类型
V_AMOUNT IN NUMBER,--交易金额
V_BANKCHAR IN NUMBER,--bank手续费
V_DINPAYCHARGE OUT NUMBER,--dinpay手续费
V_ONEPROXYCHARGE OUT NUMBER,--一级手续费
V_TWOPROXYCHARGE OUT NUMBER,--二级手续费
V_THREEPROXYCHARGE OUT NUMBER,-- 三级手续费
V_RISKCHARGE OUT NUMBER, --风险保证金
V_ONEPROXYID OUT VARCHAR2,
V_TWOPROXYID OUT VARCHAR2,
V_THREEPROXYID OUT VARCHAR2)
AS
BEGIN
DECLARE
V_CHARGE_DATE DATE;
V_CHARGETYPE VARCHAR2(2);
V_COUNT NUMBER(1,0); --是否计算分润(不等于0时计算)
V_PROXY2_RETURN_RATE NUMBER(6,4):=0;
V_PROXY3_RETURN_RATE NUMBER(6,4):=0;
BEGIN
-- 1.根据支付类型与商家号查询商家业务配置参数(手续费计算方式,费率,风险保证金收取方式,风险保证金值 )
--并计算dinpay总手续费 及 风险保证金
SELECT CHARGE_DATE,
CASE
WHEN CHARGE_TYPE='1' THEN CHARGE_VALUE
WHEN CHARGE_TYPE='0' OR CHARGE_TYPE='2' THEN CHARGE_VALUE * V_AMOUNT
WHEN CHARGE_TYPE='3' THEN (CHARGE_VALUE * V_AMOUNT)-V_BANKCHAR
END,
CASE
WHEN DEPOSIT_TYPE='0' THEN 0
WHEN CHARGE_TYPE='0' OR CHARGE_TYPE='2' OR CHARGE_TYPE='3' THEN V_AMOUNT*(1-CHARGE_VALUE)*DEPOSIT_VALUE
WHEN CHARGE_TYPE='1' THEN (V_AMOUNT-CHARGE_VALUE)*DEPOSIT_VALUE
END,
CHARGE_TYPE
INTO V_CHARGE_DATE,V_DINPAYCHARGE,V_RISKCHARGE,V_CHARGETYPE
FROM T_MERCHANT_PAYCLASS_CONFIG WHERE MERCHANT_ID=V_MERCHANTID AND PAYCLASS_ID=V_PAYCLASSID;
--查询三级代理商ID
SELECT PROXY_ID INTO V_THREEPROXYID FROM T_MERCHANT WHERE ID=V_MERCHANTID;
--查询是否需要计算分润
SELECT COUNT(*) INTO V_COUNT FROM T_PROXY_PAYCLASS_CONFIG WHERE PROXY_ID=V_THREEPROXYID AND PAYCLASS_ID=V_PAYCLASSID;
IF SYSDATE>=V_CHARGE_DATE AND V_COUNT>0 THEN --已过免手续费期
BEGIN
IF V_CHARGETYPE = '2' THEN --2表示固定费率 代理商收费方式根据商家收费方式来定
BEGIN
-- 计算三级手续费 总手续费-总交易额*3级固定费率
SELECT V_DINPAYCHARGE-TP.RETURN_FIXED*V_AMOUNT,T.PARENT_ID
INTO V_THREEPROXYCHARGE,V_TWOPROXYID
FROM T_PROXY_PAYCLASS_CONFIG TP,T_PROXY T
WHERE TP.PROXY_ID=T.ID AND TP.PROXY_ID=V_THREEPROXYID AND TP.PAYCLASS_ID=V_PAYCLASSID;
-- 计算二级手续费 总手续费-总交易额*2级固定费率-3级代理手续费;
SELECT V_DINPAYCHARGE-TP.RETURN_FIXED*V_AMOUNT-V_THREEPROXYCHARGE,T.PARENT_ID
INTO V_TWOPROXYCHARGE,V_ONEPROXYID
FROM T_PROXY_PAYCLASS_CONFIG TP,T_PROXY T WHERE T.ID=TP.PROXY_ID AND TP.PROXY_ID=V_TWOPROXYID AND TP.PAYCLASS_ID=V_PAYCLASSID;
-- 计算一级手续费 1级代理手续费=总手续费-总交易额*1级固定费率 - 2级代理手续费-3级代理手续费;
SELECT V_DINPAYCHARGE-TP.RETURN_FIXED*V_AMOUNT-V_THREEPROXYCHARGE-V_TWOPROXYCHARGE
INTO V_ONEPROXYCHARGE
FROM T_PROXY_PAYCLASS_CONFIG TP,T_PROXY T WHERE T.ID=TP.PROXY_ID AND TP.PROXY_ID=V_ONEPROXYID AND TP.PAYCLASS_ID=V_PAYCLASSID;
END;
ELSIF V_CHARGETYPE='0' OR V_CHARGETYPE='1' OR V_CHARGETYPE='3' THEN -- 当商家为返点或者 按笔收时 代理商按返点算法来计算手续费
BEGIN
-- 计算三级手续费 3级代理手续费=总手续费*3级返利点;
SELECT V_DINPAYCHARGE*TP.RETURN_RATE,TP.RETURN_RATE,T.PARENT_ID
INTO V_THREEPROXYCHARGE,V_PROXY3_RETURN_RATE,V_TWOPROXYID
FROM T_PROXY_PAYCLASS_CONFIG TP,T_PROXY T
WHERE TP.PROXY_ID=T.ID AND TP.PROXY_ID=V_THREEPROXYID AND TP.PAYCLASS_ID=V_PAYCLASSID;
-- 计算二级手续费 2级代理手续费=总手续费*(2级返利点-3级返利点)
SELECT V_DINPAYCHARGE*(TP.RETURN_RATE-V_PROXY3_RETURN_RATE),TP.RETURN_RATE,T.PARENT_ID
INTO V_TWOPROXYCHARGE,V_PROXY2_RETURN_RATE,V_ONEPROXYID
FROM T_PROXY_PAYCLASS_CONFIG TP,T_PROXY T WHERE T.ID=TP.PROXY_ID AND TP.PROXY_ID=V_TWOPROXYID AND TP.PAYCLASS_ID=V_PAYCLASSID;
-- 计算一级手续费 1级代理手续费=总手续费*(1级返利点-2级返利点)
SELECT V_DINPAYCHARGE*(TP.RETURN_RATE-V_PROXY2_RETURN_RATE)
INTO V_ONEPROXYCHARGE
FROM T_PROXY_PAYCLASS_CONFIG TP,T_PROXY T WHERE T.ID=TP.PROXY_ID AND TP.PROXY_ID=V_ONEPROXYID AND TP.PAYCLASS_ID=V_PAYCLASSID;
END;
END IF;
END;
ELSIF SYSDATE>=V_CHARGE_DATE AND V_COUNT<=0 THEN --代理商不参与分润
BEGIN
SELECT PARENT_ID INTO V_TWOPROXYID FROM T_PROXY WHERE ID=V_THREEPROXYID AND PROXY_LEVEL=3;
SELECT PARENT_ID INTO V_ONEPROXYID FROM T_PROXY WHERE ID=V_TWOPROXYID AND PROXY_LEVEL=2;
V_ONEPROXYCHARGE := 0;
V_TWOPROXYCHARGE := 0;
V_THREEPROXYCHARGE := 0;
END;
ELSE
BEGIN
SELECT PARENT_ID INTO V_TWOPROXYID FROM T_PROXY WHERE ID=V_THREEPROXYID AND PROXY_LEVEL=3;
SELECT PARENT_ID INTO V_ONEPROXYID FROM T_PROXY WHERE ID=V_TWOPROXYID AND PROXY_LEVEL=2;
V_DINPAYCHARGE := 0;
V_ONEPROXYCHARGE := 0;
V_TWOPROXYCHARGE := 0;
V_THREEPROXYCHARGE := 0;
END;
END IF;
END;
END;
<parameter property="merchantId" jdbcType="VARCHAR" javaType="java.lang.String" mode="IN"/>
<parameter property="payClassId" jdbcType="INTEGER" javaType="java.lang.Integer" mode="IN"/>
<parameter property="amount" jdbcType="DECIMAL" javaType="java.math.BigDecimal" mode="IN"/>
<parameter property="bankCharges" jdbcType="DECIMAL" javaType="java.math.BigDecimal" mode="IN"/>
<parameter property="dinpayCharge" jdbcType="DECIMAL" javaType="java.math.BigDecimal" mode="INOUT"/>
<parameter property="oneProxyCharge" jdbcType="DECIMAL" javaType="java.math.BigDecimal" mode="INOUT"/>
<parameter property="twoProxyCharge" jdbcType="DECIMAL" javaType="java.math.BigDecimal" mode="INOUT"/>
<parameter property="threeProxyCharge" jdbcType="DECIMAL" javaType="java.math.BigDecimal" mode="INOUT"/>
<parameter property="riskCharge" jdbcType="DECIMAL" javaType="java.math.BigDecimal" mode="INOUT"/>
<parameter property="proxy1Id" jdbcType="VARCHAR" javaType="java.lang.String" mode="INOUT"/>
<parameter property="proxy2Id" jdbcType="VARCHAR" javaType="java.lang.String" mode="INOUT"/>
<parameter property="proxy3Id" jdbcType="VARCHAR" javaType="java.lang.String" mode="INOUT"/>
</parameterMap>
<procedure id="callCharge" parameterMap="countChargeMap">
<![CDATA[
{call COUNTCHARGENOPROXY(?,?,?,?,?,?,?,?,?,?,?,?) }
]]>
</procedure>
CREATE OR REPLACE PROCEDURE COUNTCHARGENOPROXY(V_MERCHANTID IN VARCHAR2,--商家号
V_PAYCLASSID IN NUMBER,--支付类型
V_AMOUNT IN NUMBER,--交易金额
V_BANKCHAR IN NUMBER,--bank手续费
V_DINPAYCHARGE OUT NUMBER,--dinpay手续费
V_ONEPROXYCHARGE OUT NUMBER,--一级手续费
V_TWOPROXYCHARGE OUT NUMBER,--二级手续费
V_THREEPROXYCHARGE OUT NUMBER,-- 三级手续费
V_RISKCHARGE OUT NUMBER, --风险保证金
V_ONEPROXYID OUT VARCHAR2,
V_TWOPROXYID OUT VARCHAR2,
V_THREEPROXYID OUT VARCHAR2)
AS
BEGIN
DECLARE
V_CHARGE_DATE DATE;
V_CHARGETYPE VARCHAR2(2);
V_COUNT NUMBER(1,0); --是否计算分润(不等于0时计算)
V_PROXY2_RETURN_RATE NUMBER(6,4):=0;
V_PROXY3_RETURN_RATE NUMBER(6,4):=0;
BEGIN
-- 1.根据支付类型与商家号查询商家业务配置参数(手续费计算方式,费率,风险保证金收取方式,风险保证金值 )
--并计算dinpay总手续费 及 风险保证金
SELECT CHARGE_DATE,
CASE
WHEN CHARGE_TYPE='1' THEN CHARGE_VALUE
WHEN CHARGE_TYPE='0' OR CHARGE_TYPE='2' THEN CHARGE_VALUE * V_AMOUNT
WHEN CHARGE_TYPE='3' THEN (CHARGE_VALUE * V_AMOUNT)-V_BANKCHAR
END,
CASE
WHEN DEPOSIT_TYPE='0' THEN 0
WHEN CHARGE_TYPE='0' OR CHARGE_TYPE='2' OR CHARGE_TYPE='3' THEN V_AMOUNT*(1-CHARGE_VALUE)*DEPOSIT_VALUE
WHEN CHARGE_TYPE='1' THEN (V_AMOUNT-CHARGE_VALUE)*DEPOSIT_VALUE
END,
CHARGE_TYPE
INTO V_CHARGE_DATE,V_DINPAYCHARGE,V_RISKCHARGE,V_CHARGETYPE
FROM T_MERCHANT_PAYCLASS_CONFIG WHERE MERCHANT_ID=V_MERCHANTID AND PAYCLASS_ID=V_PAYCLASSID;
--查询三级代理商ID
SELECT PROXY_ID INTO V_THREEPROXYID FROM T_MERCHANT WHERE ID=V_MERCHANTID;
--查询是否需要计算分润
SELECT COUNT(*) INTO V_COUNT FROM T_PROXY_PAYCLASS_CONFIG WHERE PROXY_ID=V_THREEPROXYID AND PAYCLASS_ID=V_PAYCLASSID;
IF SYSDATE>=V_CHARGE_DATE AND V_COUNT>0 THEN --已过免手续费期
BEGIN
IF V_CHARGETYPE = '2' THEN --2表示固定费率 代理商收费方式根据商家收费方式来定
BEGIN
-- 计算三级手续费 总手续费-总交易额*3级固定费率
SELECT V_DINPAYCHARGE-TP.RETURN_FIXED*V_AMOUNT,T.PARENT_ID
INTO V_THREEPROXYCHARGE,V_TWOPROXYID
FROM T_PROXY_PAYCLASS_CONFIG TP,T_PROXY T
WHERE TP.PROXY_ID=T.ID AND TP.PROXY_ID=V_THREEPROXYID AND TP.PAYCLASS_ID=V_PAYCLASSID;
-- 计算二级手续费 总手续费-总交易额*2级固定费率-3级代理手续费;
SELECT V_DINPAYCHARGE-TP.RETURN_FIXED*V_AMOUNT-V_THREEPROXYCHARGE,T.PARENT_ID
INTO V_TWOPROXYCHARGE,V_ONEPROXYID
FROM T_PROXY_PAYCLASS_CONFIG TP,T_PROXY T WHERE T.ID=TP.PROXY_ID AND TP.PROXY_ID=V_TWOPROXYID AND TP.PAYCLASS_ID=V_PAYCLASSID;
-- 计算一级手续费 1级代理手续费=总手续费-总交易额*1级固定费率 - 2级代理手续费-3级代理手续费;
SELECT V_DINPAYCHARGE-TP.RETURN_FIXED*V_AMOUNT-V_THREEPROXYCHARGE-V_TWOPROXYCHARGE
INTO V_ONEPROXYCHARGE
FROM T_PROXY_PAYCLASS_CONFIG TP,T_PROXY T WHERE T.ID=TP.PROXY_ID AND TP.PROXY_ID=V_ONEPROXYID AND TP.PAYCLASS_ID=V_PAYCLASSID;
END;
ELSIF V_CHARGETYPE='0' OR V_CHARGETYPE='1' OR V_CHARGETYPE='3' THEN -- 当商家为返点或者 按笔收时 代理商按返点算法来计算手续费
BEGIN
-- 计算三级手续费 3级代理手续费=总手续费*3级返利点;
SELECT V_DINPAYCHARGE*TP.RETURN_RATE,TP.RETURN_RATE,T.PARENT_ID
INTO V_THREEPROXYCHARGE,V_PROXY3_RETURN_RATE,V_TWOPROXYID
FROM T_PROXY_PAYCLASS_CONFIG TP,T_PROXY T
WHERE TP.PROXY_ID=T.ID AND TP.PROXY_ID=V_THREEPROXYID AND TP.PAYCLASS_ID=V_PAYCLASSID;
-- 计算二级手续费 2级代理手续费=总手续费*(2级返利点-3级返利点)
SELECT V_DINPAYCHARGE*(TP.RETURN_RATE-V_PROXY3_RETURN_RATE),TP.RETURN_RATE,T.PARENT_ID
INTO V_TWOPROXYCHARGE,V_PROXY2_RETURN_RATE,V_ONEPROXYID
FROM T_PROXY_PAYCLASS_CONFIG TP,T_PROXY T WHERE T.ID=TP.PROXY_ID AND TP.PROXY_ID=V_TWOPROXYID AND TP.PAYCLASS_ID=V_PAYCLASSID;
-- 计算一级手续费 1级代理手续费=总手续费*(1级返利点-2级返利点)
SELECT V_DINPAYCHARGE*(TP.RETURN_RATE-V_PROXY2_RETURN_RATE)
INTO V_ONEPROXYCHARGE
FROM T_PROXY_PAYCLASS_CONFIG TP,T_PROXY T WHERE T.ID=TP.PROXY_ID AND TP.PROXY_ID=V_ONEPROXYID AND TP.PAYCLASS_ID=V_PAYCLASSID;
END;
END IF;
END;
ELSIF SYSDATE>=V_CHARGE_DATE AND V_COUNT<=0 THEN --代理商不参与分润
BEGIN
SELECT PARENT_ID INTO V_TWOPROXYID FROM T_PROXY WHERE ID=V_THREEPROXYID AND PROXY_LEVEL=3;
SELECT PARENT_ID INTO V_ONEPROXYID FROM T_PROXY WHERE ID=V_TWOPROXYID AND PROXY_LEVEL=2;
V_ONEPROXYCHARGE := 0;
V_TWOPROXYCHARGE := 0;
V_THREEPROXYCHARGE := 0;
END;
ELSE
BEGIN
SELECT PARENT_ID INTO V_TWOPROXYID FROM T_PROXY WHERE ID=V_THREEPROXYID AND PROXY_LEVEL=3;
SELECT PARENT_ID INTO V_ONEPROXYID FROM T_PROXY WHERE ID=V_TWOPROXYID AND PROXY_LEVEL=2;
V_DINPAYCHARGE := 0;
V_ONEPROXYCHARGE := 0;
V_TWOPROXYCHARGE := 0;
V_THREEPROXYCHARGE := 0;
END;
END IF;
END;
END;
相关推荐
能不能写个动态的业务,只输入存储过程名称,自动获取存储过程参数,并且参数的数据从前台传递过来...只根据输入不同的存储过程名称、参数内容,自动调用不同的存储过程。 已经使用在多个项目中 全开源项目 请放心下载
MyBatis作为一款流行的Java持久层框架,它提供了调用存储过程的功能,使得开发者能够方便地在Java应用中利用数据库的存储过程。下面将详细介绍如何在MyBatis中调用存储过程以及相关的知识点。 1. MyBatis概述 ...
MyBatis作为一款流行的Java持久层框架,提供了调用存储过程的功能。下面将详细介绍如何在MyBatis中配置和使用存储过程。 ### 1. 配置MyBatis XML映射文件 在MyBatis的映射文件(mapper.xml)中,我们需要为存储...
本文将深入探讨如何在Spring Boot项目中整合MyBatis,实现调用Oracle存储过程并处理游标返回的数据。 首先,我们需要在Spring Boot项目中引入相关的依赖。在`pom.xml`文件中添加Oracle JDBC驱动(ojdbc66-oracle...
这个提供的"mybatis调用存储过程源码"压缩包,包含了一个完整的MyBatis调用存储过程的示例,解压后可以直接运行,帮助开发者理解如何在实际项目中实现这一功能。详细注释可以帮助初学者更好地理解和学习这一过程。...
MyBatis调用MYSQL存储过程 返回多行 引用的包: asm-3.1.jar cglib-2.2.jar commons-logging-1.1.1.jar log4j-1.2.13.jar mybatis-3.0.4.jar mysql-connector-java-5.1.13.jar slf4j-api-1.5.8.jar slf4j-log4j12-...
MyBatis作为一款流行的Java持久层框架,提供了一种方便的方式来调用这些存储过程。下面将详细介绍如何使用MyBatis来调用Oracle存储过程。 ### 1. 创建Oracle存储过程 首先,我们需要在Oracle数据库中创建一个存储...
本文将深入探讨如何在Spring和MyBatis集成环境中调用Oracle数据库的存储过程,包括无返回值、返回结果集以及返回多个结果的情况。 首先,让我们理解基础概念。Spring是一个全面的后端开发框架,它提供了依赖注入、...
本文将详细讲解如何在Spring MVC和MyBatis集成的项目中调用MySQL存储过程。 首先,让我们理解存储过程的概念。存储过程是在数据库中预编译的一组SQL语句,可以包含输入、输出和内部参数,能够执行复杂的业务逻辑。...
本合集主要探讨如何在Java中利用MyBatis来调用MySQL的存储过程和函数。 1. **存储过程和函数的基本概念** - 存储过程:是一组预先编译的SQL语句,可以包含输入、输出参数,能够执行复杂的数据库操作。 - 函数:与...
本篇将详细阐述如何使用MyBatis调用MySQL中的存储过程,帮助你深入理解这一核心技能。 首先,我们需要了解存储过程的基本概念。存储过程是预编译的SQL语句集合,它封装了多个操作,可以在数据库服务器上执行,提高...
### Java调用存储过程——传入集合参数:深入解析与实践 #### 核心知识点概览 在Java应用中,调用数据库存储过程时,往往需要处理复杂的参数传递,特别是当参数为集合类型时,这一过程变得更加具有挑战性。本文将...
本文详细介绍了Mybatis调用Oracle存储过程的方法,包括无参数存储过程的调用,有参数存储过程的调用,和存储过程的结果集调用。这些方法可以帮助开发者更好地使用Mybatis和Oracle存储过程来实现复杂的业务逻辑操作。
MyBatis作为一款流行的Java持久层框架,提供了调用数据库存储过程的功能。本文将详细介绍如何使用MyBatis调用MySQL存储过程,以及存储过程的相关概念、优缺点和基本语法。 首先,存储过程是数据库中预编译的一组SQL...
"Mybatis调用Oracle存储过程传List参数解决方法" Mybatis是当前最流行的持久层框架之一,它提供了强大的数据访问和操作功能。但是,如何将List类型参数传递给Oracle存储过程,实现批量插入数据却是一个棘手的问题,...
ibatis调用oracle存储过程分页
在本文中,我们将探讨如何在Mybatis框架中调用PostgreSQL的存储过程,特别是处理 PostgreSQL 的数组类型作为存储过程的输入参数。Mybatis是一个流行的Java持久层框架,它允许开发者编写SQL语句,并与Java对象进行...
在调用存储过程时,我们需要利用MyBatis提供的API和配置机制来实现。 1. **配置MyBatis**:在`mybatis-config.xml`配置文件中,你需要添加数据库连接信息,例如数据源、驱动类等。同时,也需要将你的Mapper接口文件...