maybatis调用函数和过程的区别
//定义存储过程
create or replace procedure pag_add(p1 varchar2,p2 varchar2,p3 out varchar2)
as
begin
p3:=p1+p2;
end;
//定义函数
create or replace function fun_add(p1 number ,p2 number)
return number
as
begin
return p1+p2;
end;
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<!-- 此文件主要用于编写sql语句
namespace是为了解决相同名字的sql操作问题
-->
<mapper namespace="cn.et.mybatis.lesson02.func.CallMapper">
<!-- statementType 声明指向的是什么类型,其中CALLABLE是执行存储过程和函数的-->
<select id="queryEmp" parameterType="map" statementType="CALLABLE">
{
call pag_add(
#{p1,mode=IN,jdbcType=NUMERIC},
#{p2,mode=IN,jdbcType=NUMERIC},
#{p3,mode=OUT,jdbcType=NUMERIC}
)
}
</select>
<!-- 定义存储过程 -->
<select id="callProcedure" parameterType="map" statementType="CALLABLE" >
{
call prg_add(
#{p1,mode=IN,jdbcType=NUMERIC},
#{p2,mode=IN,jdbcType=NUMERIC},
#{p3,mode=OUT,jdbcType=NUMERIC}
)
}
</select>
<!-- 定义函数 -->
<select id="callFunction" parameterType="map" statementType="CALLABLE">
{
#{p3,mode=OUT,jdbcType=NUMERIC}=call fun_add(
#{p1,mode=IN,jdbcType=NUMERIC},
#{p2,mode=IN,jdbcType=NUMERIC}
)
}
</select>
<parameterMap type="com.zlkj.frm.bean.LoginBean" id="jhStart">
<parameter property="jhid" jdbcType="VARCHAR" javaType="string" mode="IN" />
<parameter property="xcmj" jdbcType="VARCHAR" javaType="string" mode="IN" />
<parameter property="sfzmhm" jdbcType="VARCHAR" javaType="string" mode="IN" />
<parameter property="code" jdbcType="VARCHAR" javaType="string" mode="OUT" />
<parameter property="message" jdbcType="VARCHAR" javaType="string" mode="OUT" />
</parameterMap>
<!-- 教育计划开始 -->
<select id="jyjhStart" parameterMap="jhStart" statementType="CALLABLE" >
{call wlmx_business_pkg.begin_jyjh(?,?,?,?,?)}
</select>
</mapper>
maybatis调用函数和过程的区别的更多相关文章
- oracle创建函数和调用存储过程和调用函数的例子(区别)
创建函数: 格式:create or replace function func(参数 参数类型) Return number Is Begin --------业务逻辑--------- End; ...
- 详解 JS 中 new 调用函数原理
JavaScript 中经常使用构造函数创建对象(通过 new 操作符调用一个函数),那在使用 new 调用一个函数的时候到底发生了什么?先看几个例子,再解释背后发生了什么. 1)看三个例子 1.1 ...
- oracle 过程函数,包的区别和联系
一.过程与函数区别 1.过程可以有0~N个返回参数,通过OUT or IN OUT参数返回:函数有且仅有1个返回值,通过return语句返回. 2.调用过程时,可做为单独的语句执行:调用函数时,函数必 ...
- 总结javascript中的全局变量和局部变量的区别以及声明函数和调用函数的区别
<!DOCTYPE html> <html> <head lang="en"> <meta charset="utf-8&quo ...
- 24、jQuery常用AJAX-API/Java调用MySQL / Oracle过程与函数
1)掌握jQuery常用AJAX-API 2)掌握Java调用MySQL / Oracle过程与函数 一)jQuery常用AJAX-API 目的:简化客户端与服务端进行局部刷新的异步通讯 (1)取 ...
- PL/SQL --> 动态SQL调用包中函数或过程
动态SQL主要是用于针对不同的条件或查询任务来生成不同的SQL语句.最常用的方法是直接使用EXECUTE IMMEDIATE来执行动态SQL语句字符串或字符串变量.但是对于系统自定义的包或用户自定的包 ...
- Js 使用new关键字调用函数和直接调用函数的区别
最近开始学习js,在看到书上的一个例子时,引发了我的一系列思考: 书上例子: function Person(name,age,job){ var o =new Object(); o.name=na ...
- js new一个函数和直接调用函数的区别
用new和调用一个函数的区别:如果函数返回值是一个值类型(Number.String.Boolen)时,new函数将会返回这个函数的实例对象,而如果这个函数的返回值是一个引用类型(Object.Arr ...
- Lua中调用函数使用点号和冒号的区别
1.初学者最易混乱Top1——调用函数时用点号还是用冒号? 我们来看看下面的两句代码: mSprite.setPosition(, ); mSprite:setPosition(, ); 对于初次接触 ...
随机推荐
- 洛谷 P2313 [HNOI2005]汤姆的游戏 题解
P2313 [HNOI2005]汤姆的游戏 题目描述 汤姆是个好动的孩子,今天他突然对圆规和直尺来了兴趣.于是他开始在一张很大很大的白纸上画很多很多的矩形和圆.画着画着,一不小心将他的爆米花弄撒了,于 ...
- LOJ2327 「清华集训 2017」福若格斯 【不平等博弈】
题目链接:LOJ 对于这道题,我们要分3步来做它. 什么是 Surreal Number 及如何解决博弈问题. 如何用 Surreal Number 解决这道题. 推出结论之后如何计数 首先看看这篇文 ...
- CF1214题解
D 因为可以用贡献2把起点终点堵掉,所以答案为0/1/2 0/2简单 1:方格可以理解为分层图,考虑每个能到达终点,起点能到达其的点,标记一下,对角线如果仅存在1则为必经之路 E \(d_i\le n ...
- windows 共享文件夹,和共享打印机
达成的情形,目标主机上登陆用户设置密码,其他pc上需要目标主机的用户和密码才能访问其共享文件夹 步骤:1.目标主机,设置文件夹共享 在文件夹上右键-属性,点击共享选项卡,然后点击共享按钮,继续点 ...
- google镜像《转》
最新谷歌镜像列表 https://jsproxy-demo.ml 谷歌镜像F1http://go.yuxuantech.com 谷歌镜像F1,非SSLhttps://www.siwa88.net 谷歌 ...
- OSG学习笔记0——解决OSG读obj模型问题[转]
原文:https://blog.csdn.net/u011310341/article/details/51179948 #include "stdafx.h" #include& ...
- Unity3D 2D模拟经营游戏 洗车沙龙 完整源码
Car Wash Salon Game 描述洗车模板与几个迷你游戏相关的汽车清洁,洗涤和装饰. 简单但有趣的游戏和伟大的视觉效果. 此模板不包含在应用中! 自定义应用程序的示例,有些功能在本项目中不受 ...
- 文献阅读 | Benchmarking single cell RNA-sequencing analysis pipelines using mixture control experiments
资源: sci-hub paper CellBench package - github CellBench_data - code for the paper 现在单细胞领域的突出问题就是工具过多, ...
- bat和cmd文件是什么,dos又是什么东西
bat文件是dos下的批处理文件.批处理文件是无格式的文本文件,它包含一条或多条命令.它的文件扩展名为 .bat 或 .cmd.在命令提示下键入批处理文件的名称,或者双击该批处理文件,系统就会调用cm ...
- fastjson字段顺序问题
构造函数中指定使用有序 public JSONObject(boolean ordered) { this(16, ordered);} 示例: JSONObject fastJson = new J ...