- 浏览: 173583 次
- 性别:
- 来自: 上海
文章分类
- 全部博客 (157)
- 心情故事 (2)
- SWT/JFACE/RCP (5)
- 数据库 持久层 (22)
- 程序开发的小常识 (17)
- 设计模式 (6)
- UML图 (1)
- 框架相关文章 (15)
- 消息服务 (3)
- javascript ajax jquery (12)
- servlet http 协议 (1)
- 中间件 服务器 JNDI (11)
- EJB (4)
- core JAVA jvm (17)
- 算法 算数 智力题 (5)
- 版本控制软件 (1)
- 软件下载 (15)
- quartz job (2)
- xml (2)
- 线程 (9)
- 英语专栏学习 (0)
- SWT/JFACE/RCdP (0)
- Unix (1)
- Maven (3)
- 第一段经历 (0)
- 第二段经历 (0)
- 第三段经历 (0)
- 第四段经历 (9)
- ide开发工具 (2)
- 浏览器兼容 (1)
- 技术的缺点总结 (1)
- 验证码 (1)
- 面试问题大全 (3)
- 第五段经历 (5)
- 趣味编程 (1)
最新评论
-
zhangwei8607:
哥,我来了
发表了这么多技术文章,为什么没人留言 -
aqqcat:
这个太骚了同志
proxy 的原理 -
dmwdmc:
...
9个球其中1个空心最多称2次得出空心球 -
kjmmlzq19851226:
9个球分三组为A、B、C,任意取其中两组进行第一次称重,两种情 ...
9个球其中1个空心最多称2次得出空心球 -
zhangwei8607:
:idea: 学习了
网银系统augcb申请信用卡ejb的应用
mybatis 调用存在过程{ call proc_saveamt_grant(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?) }
Serivice
根据mybatis 的 配置。返回的值自动保存在tsaveamt
DAO
Serivice
SAICDao.insertTsaveamt(tsaveamt);
根据mybatis 的 配置。返回的值自动保存在tsaveamt
DAO
void insertTemploydcmSQ(Tmember tmember)throws SQLException;
引用
<select id="insertTsaveamt" parameterType="cn.com.mmm.customer.domain.Tsaveamt" statementType="CALLABLE" >
{call proc_saveamt_grant(#{memb_no},#{proc_gb},#{proc_yn},#{order_no},#{order_g_seq},#{order_d_seq},#{order_w_seq},#{saveamt_gb},#{saveamt_gb}
,#{saveamt},#{save_note},#{expire_date,jdbcType=TIMESTAMP},#{proc_id},#{c_code},'',#{rtnCode,mode=OUT,jdbcType=VARCHAR},#{rtnNo,mode=OUT,jdbcType=INTEGER},#{rtnMsg,mode=OUT,jdbcType=VARCHAR})}
</select>
{call proc_saveamt_grant(#{memb_no},#{proc_gb},#{proc_yn},#{order_no},#{order_g_seq},#{order_d_seq},#{order_w_seq},#{saveamt_gb},#{saveamt_gb}
,#{saveamt},#{save_note},#{expire_date,jdbcType=TIMESTAMP},#{proc_id},#{c_code},'',#{rtnCode,mode=OUT,jdbcType=VARCHAR},#{rtnNo,mode=OUT,jdbcType=INTEGER},#{rtnMsg,mode=OUT,jdbcType=VARCHAR})}
</select>
引用
CREATE OR REPLACE PROCEDURE MMM.PROC_SAVEAMT_GRANT(
V_MMM_CUST_NO IN TSAVEAMT_MMM.MEMB_NO%TYPE
, V_MMM_PROC_GB_MMM IN TSAVEAMT_MMM.PROC_GB%TYPE
, V_MMM_PROC_YN IN TSAVEAMT_MMM.PROC_YN%TYPE
, V_MMM_ORDER_NO IN TSAVEAMT_MMM.ORDER_NO%TYPE
, V_MMM_ORDER_G_MMM_SEQ IN TSAVEAMT_MMM.ORDER_G_MMM_SEQ%TYPE
, V_MMM_ORDER_D_MMM_SEQ IN TSAVEAMT_MMM.ORDER_D_MMM_SEQ%TYPE
, V_MMM_ORDER_W_MMM_SEQ IN TSAVEAMT_MMM.ORDER_W_MMM_SEQ%TYPE
, V_MMM_SAVEAMT_GB IN TSAVEAMT_MMM.SAVEAMT_GB%TYPE
, V_MMM_SAVEAMT_CODE IN TSAVEAMT_MMM.SAVEAMT_CODE%TYPE
, V_MMM_SAVEAMT IN TSAVEAMT_MMM.SAVEAMT%TYPE
, V_MMM_SAVE_NOTE IN TSAVEAMT_MMM.SAVE_NOTE%TYPE
, V_MMM_EXPIRE_DATE IN TSAVEAMT_MMM.EXPIRE_DATE%TYPE
, V_MMM_USER_ID IN TSAVEAMT_MMM.PROC_ID%TYPE
, V_MMM_C_CODE IN TSAVEAMT_MMM.C_CODE%TYPE
, V_MMM_SITE_CODE IN TSAVEAMT_MMM.SITE_CODE%TYPE
, ERRCODE OUT VARCHAR2
, ERRNO OUT NUMBER
, ERRMSG OUT VARCHAR2)
IS
V_MMM_SAVEAMT_MMM_SEQ_MMM TSAVEAMT_MMM.SAVEAMT_MMM_SEQ%TYPE;
V_MMM_SYSDATETIME DATE;
V_MMM_ERRCODE VARCHAR2(2);
V_MMM_ERRNO NUMBER;
V_MMM_ERRMSG VARCHAR2(100);
P_EXPIRE_DATE DATE;
BEGIN
IF V_MMM_PROC_GB_MMM != '1' AND V_MMM_PROC_GB_MMM != '0' AND V_MMM_PROC_YN != '1' AND V_MMM_PROC_YN != '0'
THEN
V_MMM_ERRCODE := 'ER';
V_MMM_ERRNO := 999;
V_MMM_ERRMSG := 'IT IS WRONG PARAMETER! PROC_GB, PROC_YN';
GOTO ERROR_ROUTINE;
END IF;
IF V_MMM_PROC_YN = '1'
THEN
P_EXPIRE_DATE := V_MMM_EXPIRE_DATE;
END IF;
BEGIN
SELECT LPAD(TO_NUMBER(NVL(MAX(SAVEAMT_MMM_SEQ),200000)) + 1, 10, '0'), SYSDATE
INTO V_MMM_SAVEAMT_MMM_SEQ_MMM, V_MMM_SYSDATETIME
FROM TSAVEAMT_MMM
WHERE MEMB_NO = V_MMM_CUST_NO;
EXCEPTION WHEN OTHERS THEN
V_MMM_ERRCODE := 'ER';
V_MMM_ERRNO := ABS(SQLCODE);
V_MMM_ERRMSG := SUBSTR (SQLERRM, 1, 100);
GOTO ERROR_ROUTINE;
END;
BEGIN
INSERT INTO TSAVEAMT_MMM(
MEMB_NO, SAVEAMT_MMM_SEQ, SAVEAMT_MMM_SEQ_PRE, SAVEAMT_MMM_SEQ_ORG
, PROC_GB, PROC_YN, ORG_YN, ORDER_NO, ORDER_G_MMM_SEQ, ORDER_D_MMM_SEQ, ORDER_W_MMM_SEQ
, SAVEAMT_GB, SAVEAMT_CODE, SAVE_NOTE, SAVEAMT, PROC_ID, PROC_DATE
, EXPIRE_YN, EXPIRE_DATE, EXPIRE_DATE_ORG, USE_YN, USE_AMT, SITE_CODE
, INSERT_ID, INSERT_DATE, MODIFY_ID, MODIFY_DATE, SAVEAMT_ORG, C_CODE
)
VALUES
(
V_MMM_CUST_NO, V_MMM_SAVEAMT_MMM_SEQ_MMM, V_MMM_SAVEAMT_MMM_SEQ_MMM, V_MMM_SAVEAMT_MMM_SEQ_MMM
,V_MMM_PROC_GB_MMM, V_MMM_PROC_YN, '1', V_MMM_ORDER_NO, V_MMM_ORDER_G_MMM_SEQ, V_MMM_ORDER_D_MMM_SEQ, V_MMM_ORDER_W_MMM_SEQ
, V_MMM_SAVEAMT_GB, V_MMM_SAVEAMT_CODE, V_MMM_SAVE_NOTE, V_MMM_SAVEAMT, V_MMM_USER_ID, V_MMM_SYSDATETIME
, '0', DECODE( V_MMM_PROC_YN , '1' , P_EXPIRE_DATE ,''), DECODE( V_MMM_PROC_YN , '1' , P_EXPIRE_DATE ,'')
, '0', 0, V_MMM_SITE_CODE
, V_MMM_USER_ID, V_MMM_SYSDATETIME, V_MMM_USER_ID, V_MMM_SYSDATETIME, V_MMM_SAVEAMT, V_MMM_C_CODE
);
EXCEPTION WHEN OTHERS THEN
V_MMM_ERRCODE := 'ER';
V_MMM_ERRNO := ABS(SQLCODE);
V_MMM_ERRMSG := SUBSTR (SQLERRM, 1, 100);
GOTO ERROR_ROUTINE;
END;
<<COMMIT_ROUTINE>>
ERRCODE := 'OK';
ERRNO := 0 ;
ERRMSG := V_MMM_SAVEAMT_MMM_SEQ_MMM ;
GOTO END_ROUTINE;
<<ERROR_ROUTINE>>
ERRCODE := V_MMM_ERRCODE ;
ERRNO := V_MMM_ERRNO ;
ERRMSG := V_MMM_ERRMSG ;
<<END_ROUTINE>>
dbms_output.put_line(ERRCODE||'-'||TO_CHAR(ERRNO)||'-'||ERRMSG) ;
END;
V_MMM_CUST_NO IN TSAVEAMT_MMM.MEMB_NO%TYPE
, V_MMM_PROC_GB_MMM IN TSAVEAMT_MMM.PROC_GB%TYPE
, V_MMM_PROC_YN IN TSAVEAMT_MMM.PROC_YN%TYPE
, V_MMM_ORDER_NO IN TSAVEAMT_MMM.ORDER_NO%TYPE
, V_MMM_ORDER_G_MMM_SEQ IN TSAVEAMT_MMM.ORDER_G_MMM_SEQ%TYPE
, V_MMM_ORDER_D_MMM_SEQ IN TSAVEAMT_MMM.ORDER_D_MMM_SEQ%TYPE
, V_MMM_ORDER_W_MMM_SEQ IN TSAVEAMT_MMM.ORDER_W_MMM_SEQ%TYPE
, V_MMM_SAVEAMT_GB IN TSAVEAMT_MMM.SAVEAMT_GB%TYPE
, V_MMM_SAVEAMT_CODE IN TSAVEAMT_MMM.SAVEAMT_CODE%TYPE
, V_MMM_SAVEAMT IN TSAVEAMT_MMM.SAVEAMT%TYPE
, V_MMM_SAVE_NOTE IN TSAVEAMT_MMM.SAVE_NOTE%TYPE
, V_MMM_EXPIRE_DATE IN TSAVEAMT_MMM.EXPIRE_DATE%TYPE
, V_MMM_USER_ID IN TSAVEAMT_MMM.PROC_ID%TYPE
, V_MMM_C_CODE IN TSAVEAMT_MMM.C_CODE%TYPE
, V_MMM_SITE_CODE IN TSAVEAMT_MMM.SITE_CODE%TYPE
, ERRCODE OUT VARCHAR2
, ERRNO OUT NUMBER
, ERRMSG OUT VARCHAR2)
IS
V_MMM_SAVEAMT_MMM_SEQ_MMM TSAVEAMT_MMM.SAVEAMT_MMM_SEQ%TYPE;
V_MMM_SYSDATETIME DATE;
V_MMM_ERRCODE VARCHAR2(2);
V_MMM_ERRNO NUMBER;
V_MMM_ERRMSG VARCHAR2(100);
P_EXPIRE_DATE DATE;
BEGIN
IF V_MMM_PROC_GB_MMM != '1' AND V_MMM_PROC_GB_MMM != '0' AND V_MMM_PROC_YN != '1' AND V_MMM_PROC_YN != '0'
THEN
V_MMM_ERRCODE := 'ER';
V_MMM_ERRNO := 999;
V_MMM_ERRMSG := 'IT IS WRONG PARAMETER! PROC_GB, PROC_YN';
GOTO ERROR_ROUTINE;
END IF;
IF V_MMM_PROC_YN = '1'
THEN
P_EXPIRE_DATE := V_MMM_EXPIRE_DATE;
END IF;
BEGIN
SELECT LPAD(TO_NUMBER(NVL(MAX(SAVEAMT_MMM_SEQ),200000)) + 1, 10, '0'), SYSDATE
INTO V_MMM_SAVEAMT_MMM_SEQ_MMM, V_MMM_SYSDATETIME
FROM TSAVEAMT_MMM
WHERE MEMB_NO = V_MMM_CUST_NO;
EXCEPTION WHEN OTHERS THEN
V_MMM_ERRCODE := 'ER';
V_MMM_ERRNO := ABS(SQLCODE);
V_MMM_ERRMSG := SUBSTR (SQLERRM, 1, 100);
GOTO ERROR_ROUTINE;
END;
BEGIN
INSERT INTO TSAVEAMT_MMM(
MEMB_NO, SAVEAMT_MMM_SEQ, SAVEAMT_MMM_SEQ_PRE, SAVEAMT_MMM_SEQ_ORG
, PROC_GB, PROC_YN, ORG_YN, ORDER_NO, ORDER_G_MMM_SEQ, ORDER_D_MMM_SEQ, ORDER_W_MMM_SEQ
, SAVEAMT_GB, SAVEAMT_CODE, SAVE_NOTE, SAVEAMT, PROC_ID, PROC_DATE
, EXPIRE_YN, EXPIRE_DATE, EXPIRE_DATE_ORG, USE_YN, USE_AMT, SITE_CODE
, INSERT_ID, INSERT_DATE, MODIFY_ID, MODIFY_DATE, SAVEAMT_ORG, C_CODE
)
VALUES
(
V_MMM_CUST_NO, V_MMM_SAVEAMT_MMM_SEQ_MMM, V_MMM_SAVEAMT_MMM_SEQ_MMM, V_MMM_SAVEAMT_MMM_SEQ_MMM
,V_MMM_PROC_GB_MMM, V_MMM_PROC_YN, '1', V_MMM_ORDER_NO, V_MMM_ORDER_G_MMM_SEQ, V_MMM_ORDER_D_MMM_SEQ, V_MMM_ORDER_W_MMM_SEQ
, V_MMM_SAVEAMT_GB, V_MMM_SAVEAMT_CODE, V_MMM_SAVE_NOTE, V_MMM_SAVEAMT, V_MMM_USER_ID, V_MMM_SYSDATETIME
, '0', DECODE( V_MMM_PROC_YN , '1' , P_EXPIRE_DATE ,''), DECODE( V_MMM_PROC_YN , '1' , P_EXPIRE_DATE ,'')
, '0', 0, V_MMM_SITE_CODE
, V_MMM_USER_ID, V_MMM_SYSDATETIME, V_MMM_USER_ID, V_MMM_SYSDATETIME, V_MMM_SAVEAMT, V_MMM_C_CODE
);
EXCEPTION WHEN OTHERS THEN
V_MMM_ERRCODE := 'ER';
V_MMM_ERRNO := ABS(SQLCODE);
V_MMM_ERRMSG := SUBSTR (SQLERRM, 1, 100);
GOTO ERROR_ROUTINE;
END;
<<COMMIT_ROUTINE>>
ERRCODE := 'OK';
ERRNO := 0 ;
ERRMSG := V_MMM_SAVEAMT_MMM_SEQ_MMM ;
GOTO END_ROUTINE;
<<ERROR_ROUTINE>>
ERRCODE := V_MMM_ERRCODE ;
ERRNO := V_MMM_ERRNO ;
ERRMSG := V_MMM_ERRMSG ;
<<END_ROUTINE>>
dbms_output.put_line(ERRCODE||'-'||TO_CHAR(ERRNO)||'-'||ERRMSG) ;
END;
发表评论
-
oracle 重设redo log 和倒入
2014-02-21 18:27 728重设redo log: alter system set &q ... -
weblogic 整合hibernate valildation 2个问题的解决
2013-09-23 21:23 17561.java.lang.AbstractMethodError ... -
weblogic.jdbc.wrapper.Clob_oracle_sql_CLOB incompatible with oracle.sql.CLOB 解决方
2013-09-23 16:02 1429Object ocontent = resMap.get(& ... -
mybatis 完美内嵌循环多参数传递
2013-09-05 14:05 1626column="{disp_pri_order = ... -
spring mybatis 事务问题解决
2013-08-10 21:00 383好几天的困惑,这个问题终于解决。 以下这行是控制spring ... -
mybatis打印sql
2013-07-31 18:55 596用log4j在控制台输出,在web.xml中配置log4j.p ... -
exist union 运用求大中小级联
2013-07-31 11:33 603所有item表中,大,中,小item. 其中大的item是W0 ... -
oracle有哪些常用的系统表
2013-07-23 15:05 1091dba_开头..... dba_users 数据库用户信 ... -
hibernate 5 大接口和实例
2013-06-18 21:07 815Hibernate的核心接口一共有5个,分别为:Session ... -
【转载】hiberate save, saveorupate等各种方法状态解释
2013-06-18 21:06 770http://www.blogjava.net/TiGERT ... -
[转载]hibernate的乐观锁
2013-06-18 08:35 656http://esffor.iteye.com/blog/ ... -
jdbc取blob读出实例
2013-06-04 10:00 862import java.io.BufferedInputStr ... -
oracle 内置函数:search DB blob 字段显示出来
2013-06-03 17:38 1006select utl_raw.cast_to_varchar2 ... -
oracle 同义词
2013-06-02 19:52 748相当于alias(别名),比如把user1.table1在us ... -
一次性插入多条数据的insert
2013-06-02 19:24 1118INSERT INTO 正式表 (CPU,PRICE) SEL ... -
select 结构执行顺序
2013-06-02 19:13 878(8)SELECT(9)DISTINCT(11) ( 1 ... -
查询语句(SELECT)的优化
2013-06-02 19:11 801首先要注意建立索引。 create index abindex ... -
PL/SQL 语法
2010-04-29 17:32 872创建 VIEW 引用CREATE VIEW V ... -
postgresql 安装步骤
2010-04-14 10:59 1523postgresql 安装步骤: sudo apt-get i ... -
Oracle的一些知识
2010-04-14 10:57 1216导入数据到oracle 首先询问对方数据库的表空间名称和大小, ...
相关推荐
MyBatis 是一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以使你更好地将关注点集中在你的应用程序上。同时,它也...
MyBatis是一个优秀的Java持久层框架,它支持定制化SQL、存储过程以及高级映射。MyBatis避免了几乎所有的JDBC代码和手动设置参数以及获取结果集。MyBatis可以使用简单的XML或注解进行配置和原始映射,将接口和Java的...
至于压缩包内的"mybatis-3.2.0-SNAPSHOT",通常在软件开发中,"SNAPSHOT"表示这是一个开发中的版本,可能包含了最新的功能和修复,但未正式发布,可能存在不稳定因素。开发者可能会在开发过程中频繁地更新SNAPSHOT...
MyBatis是一个优秀的Java持久层框架,它支持定制化SQL、存储过程以及高级映射。MyBatis避免了几乎所有的JDBC代码和手动设置参数以及获取结果集。MyBatis可以使用简单的XML或注解进行配置和原始映射,将接口和Java的...
在IT行业中,分布式服务框架Dubbo是阿里巴巴推出的一款高性能、轻量级的RPC(远程过程调用)框架,它能够使服务消费方和服务提供方通过网络进行通信。本示例中,我们将关注一个典型的问题——服务消费者在调用服务...
MyBatis是一个优秀的Java持久层框架,它支持定制化SQL、存储过程以及高级映射。MyBatis避免了几乎所有的JDBC代码和手动设置参数以及获取结果集。MyBatis可以使用简单的XML或注解进行配置和原始映射,将接口和Java的...
MyBatis 是一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。在实际开发中,我们常常需要处理数据之间的关联关系,比如一对一、一对多、多对一、多对多等。本篇文章将重点讲解 MyBatis 中的自关联...
接下来,`mybatis 调用存储过程`展示了如何在 MyBatis 中执行数据库的存储过程。Oracle 数据库常常使用存储过程来封装复杂的业务逻辑或提高性能。在 MyBatis 中,调用存储过程需要用到 `<select>` 标签的 `procedure...
MyBatis提供了Interceptor插件机制,可以通过自定义拦截器实现对SQL执行过程的拦截,比如日志记录、性能监控等。 10. **最佳实践** 在实际使用中,建议遵循一些最佳实践,如合理设计Mapper接口,避免过多的复杂...
Spring Boot以其快速启动、自动化配置和开箱即用的特点,大大简化了Java应用程序的开发过程,而MyBatis作为轻量级的持久层框架,提供了灵活的SQL映射机制,使得数据库操作更为便捷。在这个教程中,我们将不仅了解这...
在这个过程中,我们通常会指定配置文件的位置、MyBatis的环境ID,以及Mapper接口的包名,使得Spring可以在启动时自动扫描并管理这些接口。 在Mapper接口和XML文件方面,每个Mapper接口代表一个SQL操作,接口方法...
MyBatis是一个优秀的持久层框架,它支持定制化SQL、存储过程以及高级映射,避免了几乎所有的JDBC代码和手动设置参数以及获取结果集。MyBatis使得SQL编写变得直观且易于维护,让开发者能够专注于SQL本身,而无需关注...
7. **缓存机制**:MyBatis内置了两级缓存,一级缓存在SqlSession级别,二级缓存在Mapper级别。缓存可以提高数据访问效率,减少不必要的数据库交互。 8. **插件扩展**:MyBatis允许开发人员编写自定义插件,插件可以...
MyBatis是一个优秀的Java持久层框架,它支持定制化SQL、存储过程以及高级映射。在项目中引入MyBatis-3.2.2.jar这个压缩包,可以极大地提升数据库操作的灵活性和效率。 首先,MyBatis的核心是SQL映射文件和...
MyBatis是一个优秀的Java持久层框架,它支持定制化SQL、存储过程以及高级映射。MyBatis避免了几乎所有的JDBC代码和手动设置参数以及获取结果集。MyBatis可以使用简单的XML或注解进行配置和原始映射,将接口和Java的...
6. **接口方法与 SQL 映射关联**:通过在 Service 或 DAO 接口中定义的方法签名,MyBatis 可以自动找到对应的 SQL 映射,实现方法调用与 SQL 执行的绑定。 7. **事务管理**:MyBatis 支持手动和自动事务管理,可以...
7. **缓存机制**:MyBatis内置了两级缓存,一级缓存在SqlSession级别,二级缓存在SqlSessionFactory级别,可以提高数据访问速度。 8. **插件机制**:MyBatis允许开发人员创建自定义插件,拦截SqlSession的方法调用...
MyBatis是一个优秀的Java持久层框架,它支持定制化SQL、存储过程以及高级映射。MyBatis避免了几乎所有的JDBC代码和手动设置参数以及获取结果集。MyBatis可以使用简单的XML或注解进行配置和原始映射,将接口和Java的...