MyBatis调用Oracle的存储过程】的更多相关文章

Mapper.xml文件: --------------------------------- <parameterMap type="map" id="classificationOfUser">        <parameter property="in_query_value" jdbcType="VARCHAR" mode="IN" />        <parame…
MyBatis调用Oracle存储过程 1.无输入和输出参数的存储过程 2.带有输入和输出参数的存储过程 3.返回游标的存储过程 mybatis中的配置文件代码 <resultMap type="java.util.HashMap" id="cursorMap"> </resultMap> <select id="paging" parameterType="java.util.Map" stat…
 转载. https://blog.csdn.net/ml0228123/article/details/81002258   上次的项目,要求我用java代码调用存储过程,折腾了好久.最后总算成功了.发片帖子纪念下,也给不懂存储过程的但是要调用的人一些提示 首先介绍下存储过程(本人是不会写的,但是目前能看懂)   create or replace procedure P_DAP_UNI_CUBE_INFO(V_CUBE_NAME IN VARCHAR2, --每个参数都有三部分 形参 in/…
在Oracle下创建一个test的账户,然后 1.创建表:STOCK_PRICES --创建表格 CREATE TABLE STOCK_PRICES( RIC VARCHAR() PRIMARY KEY, PRICE NUMBER(,), UPDATED DATE ); 2.插入测试数据: --插入数据 INSERT INTO stock_prices values(',1.0,SYSDATE); INSERT INTO stock_prices values(',2.0,SYSDATE); I…
C#调用Oracle的存储过程时, 如果有个SYS_REFCURSOR的Output参数存储时, web.config文件中的连接字符串需要配置PLSQLRSet=1, 否则可能会报这个错:参数个数或类型错误 ORA-06550…
firedac调用ORACLE的存储过程 EMB官方原文地址:http://docwiki.embarcadero.com/RADStudio/Tokyo/en/Using_Oracle_with_FireDAC 笔者下面做的是中文翻译: ORALCE的存储过程,相比MSSQL,多了一个PACKAGE(包). 因此FIREDAC调用也稍有点不同. ORACLE创建存储过程的样例脚本如下: CREATE OR REPLACE PACKAGE FDQA_TestPack AS TYPE TVC2Tb…
在oracle下创建一个test的账户,然后按一下步骤执行: 1.创建表:STOCK_PRICES --创建表格CREATETABLE STOCK_PRICES( RIC VARCHAR(6) PRIMARYKEY, PRICE NUMBER(7,2), UPDATED DATE ); 2.插入测试数据: --插入数据INSERTINTO stock_prices values('1111',1.0,SYSDATE);INSERTINTO stock_prices values('1112',2…
一.Mybatis调用存储过程 1 在数据库中创建以下的存储过程create or replace procedure pro_hello(p_user_name in varchar2,p_result out varchar2) isbegin  p_result := 'hello,' || p_user_name;end;//------------------------------------------ 在mysql数据库中创建存储过程 create procedure pro_n…
Java代码调用存储过程和存储函数要使用CallableStatement接口 查看API文档: 上代码: java代码调用如下的存储过程和函数: 查询某个员工的姓名  月薪 职位 create or replace procedure queryEmpinfo(eno in number, pename out varchar2, psal out number, pjob out varchar2) as begin select ename,sal,empjob into pename,p…
step1:在mysql cmd中新建存储过程: drop procedure if exists queryCountByGrade ; delimiter // -- 定义存储过程结束符号为// create procedure queryCountByGrade(IN gradenameinput INT(),OUT counts ) begin select count(*) into counts from student where grade = gradenameinput;en…
众所周知,当过多的使用存储过程,触发器等 数据库方言相关的应用时,应用程序的移植性会变差,特别是在Hibernate中使用这些,简直是讽刺,但是当今中国又有哪家公司做项目会关心应用程序的移植性呢? 现在看看Hibernate中对Oracle存储过程的调用. 1.plsql 代码 create Procedure proc() begin select * from proctab; end; 1 create procedure proc1(v_no number(4)) 2 begin 3 s…
首先根据这篇文章:http://www.cnblogs.com/coolzdp/p/7717332.html 我们知道存储过程中 SELECT * INTO 如果没有记录是不会往下执行的,直接抛出NO_DATA_FOUND异常, 这个在plsql developer中直接测试执行没问题,会报ORA-1403异常. 但是在mybatis中调用的话就不会抛出NO_DATA_FOUND异常,而是在select * into语句为空时默默的终止执行该过程. 在服务层采用事务处理的话就有问题了,服务层调用…
1 存储过程参数为VARCHAR 代码逻辑:controller层定义实体类对象entity,并entity.set给存储过程的输入参数赋值,把赋值后的实体类通过service层传到dao层,然后通过dao层调用存储过程 1-1 存储过程参数 IN_STR IN VARCHAR, OUT_STR OUT VARCHAR 1-2 controller层 @RequestMapping("/TESTPRO") @ResponseBody public String TESTPRO() {…
首先写一个存储过程: create or replace procedure p_syn_equipment_20161205 is sqlstr ); begin --清空表 sqlstr := 'truncate table staff_20161205'; execute immediate sqlstr; --插入数据 sqlstr := 'insert into staff_20161205 select * from tb_base_staff s where s.staff_nam…
调试了半天,其实整体用map传入传出也挺简单, 主要是调用存储过程 select标签里平时习惯不写 statementType="CALLABLE",调用没有out参数时也能正常用, 调用有out参数的过程时导致一直报java.sql.SQLException: 索引中丢失  IN 或 OUT 参数:: 6 网上的很多文章写的挺啰嗦, parameterMap要是传入的就是HashMap里面也都是基本类型根本不用写,mabatis会自动识别类型. jdbcType=INTEGER, m…
1.MYBATIS方法: <select id="getFlowNum" statementType="CALLABLE"> <![CDATA[ {call PRO_CFC_GETFLOWNUM( #{V_IN_RANDOM,mode=IN,jdbcType=VARCHAR},    #{V_IN_BUSCODE,mode=IN,jdbcType=VARCHAR}, #{V_IN_REFRESHVAR,mode=IN,jdbcType=VARCHA…
<resultMap id="ticketInfosResultMap" type="Map"> <!--result要是默认用列名的话完全不必要配,省老事了 <result property="ID_" column="ID_"/> <result property="TICKET_NUMBER_" column="TICKET_NUMBER_"/&…
现在的项目是以Mybatis作为O/R映射框架,确实好用,也非常方便项目的开发.MyBatis支持普通sql的查询.视图的查询.存储过程调用,是一种非常优秀的持久层框架.它可利用简单的XML或注解用语配置和原始映射,将接口和java中的POJO映射成数据库中的纪录. 一.调用视图 如下就是调用视图来查询收益明细,sql部分如下: ? 1 2 3 4 5 6 <!-- 获取明细 --> <select id ="getContactEarnsDetail" result…
通过命令行创建存储过程 create or replace procedure emp_sal(eno emp.empno%type,esal out emp.sal%type) as begin select sal into esal from emp where empno=eno; end; PL/SQL 中测试存储过程 依次打开 File -> New -> TestWindow 窗口,执行如下代码: -- Created on 2018/11/19 by ADMINISTRATOR…
Java程序 package com.test; import java.sql.CallableStatement; import java.sql.Connection; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Types; import com.jdbc.BaseJdbcDAO; import oracle.jdbc.OracleTypes; public class Test { /…
1.分页类 package org.zh.basic; /** * 页面类 * * @author keven * */ public class PageInfo { // 定义 private String p_tableName; // -表名 private String p_strWhere; // --查询条件 private String p_orderColumn; // --排序的列 private String p_orderStyle; // --排序方式 private…
数据库表和增删改的procedure参照(http://www.cnblogs.com/J-wym/p/3292913.html) 1.测试添加数据的procedure public void testProcedure() { Connection con = getConnction(); .测试添加数据的procedure String procedure = "{call users_insert_proc(?,?,?,?) }"; CallableStatement cs =…
直接上源码 一,oracle储存过程. create or replace procedure proc_get_th(i_hth in varchar2,o_ret out sys_refcursor)isbegin for v_rec in (select ggd_id,th from gms_ggd_zt where hth=i_hth) loop insert into tmp_gms_plan_th(ggd_id,th) select ggd_id,th from table(f_ge…
存储过程是在大型数据库系统中,一组为了完成特定功能的SQL 语句集,存储在数据库中,经过第一次编译后再次调用不需要再次编译,用户通过指定存储过程的名字并给出参数(如果该存储过程带有参数)来执行它.今天,我们就开始学习java中调用oracle的存储过程. java中调用oracle的存储过程 项目结构如下:…
最近在看资料中涉及到mybatis,突然想到mysql中的视图.存储过程.函数.现将在使用mybatis调用mysql的存储过程使用总结下: 使用的环境:mybatis3.4.6,mysql 5.6,数据库视图工具sqlyog(可也以使用其他的),springboot 1.创建存储过程,代码如下 DROP PROCEDURE IF EXISTS add_;DELIMITER //CREATE PROCEDURE add_(IN a INT,IN b INT,OUT c INT)BEGIN SEL…
存储过程是在大型数据库系统中,一组为了完成特定功能的SQL 语句集,存储在数据库中,经过第一次编译后再次调用不需要再次编译,用户通过指定存储过程的名字并给出参数(如果该存储过程带有参数)来执行它.今天,我们就开始学习java中调用oracle的存储过程. java中调用oracle的存储过程 项目结构如下:…
c#调用oracle存储过程返回数据集 2008-12-20 10:59:57|  分类: net|字号 订阅   CREATE OR REPLACE PACKAGE pkg_tableTypeIS     type Tabletype is ref cursor;     PROCEDURE SP_CPZD      (      CPNO IN VARCHAR2,      STATUS IN VARCHAR2,      t_sql out Tabletype      );END;CRE…
oracle版本:11g oracle存储过程,使用游标的方式返回多行.多列数据集合: CREATE OR REPLACE PROCEDURE SP_DATA_TEST( /*P_ID IN INT,*/ --传入参数,不需要可注释 O_CUR OUT SYS_REFCURSOR --输出数据,本文重点描述 ) IS BEGIN OPEN O_CUR FOR SELECT * FROM (SELECT 'A', SYSDATE - 1 FROM DUAL UNION ALL SELECT 'B'…
存储过程还不会写的同学可以参考我另一篇文章:https://www.cnblogs.com/liuboyuan/p/9375882.html 网上已经有很多用mybatis调用的教程了,但是大部分是xml方式调用,最近项目中用mybatis plus,没有xml配置文件.本次分享下用@Select注解方式调用. 创建存储过程(语法oracle) create or replace procedure test(name in varchar,gender out varchar) as begi…
存储过程在小公司用的不多,但是如果业务比较复杂或者性能要求比较苛刻的时候存储过程就派上用场了,ibatis的前期的一些版本貌似不支持存储过程因此我选择了mybatis来做实验. 1.无输入和输出参数的存储过程,我写了一个比较简单的,需要注意的是Oracle无参存储过程不能写括号 CREATE OR REPLACE Procedure cascadeoperation As Begin Delete From teacher Where id=1; Update studentdetail Set…