mybaits使用存储过程
如何使用Mybaits调用数据库存储过程,按以下顺序Oracle案例库:
1.在数据库中创建以下存储过程:
|
create or replace procedure pro_hello(p_result out varchar2) is begin select * from 表名 where 条件=p_result end; |
2.编写SQL映射文件mapper.xml:
|
<select id="proHello" statementType="CALLABLE"> <![CDATA[ {call pro_hello (#{传进来的參数,mode=IN(传入參数),jdbcType=VARCHAR(參数类型)})} ]]> </select> |
3.编写JAVA代码调用存储过程
|
public class ProcedureTest { public static void main(String[] args) throws IOException { String resource = "mybatis.cfg.xml"; Reader reader = Resources.getResourceAsReader(resource); SqlSessionFactory ssf = new SqlSessionFactoryBuilder().build(reader); SqlSession session = ssf.openSession(); try { Map<String, String> param = new HashMap<String, String>(); param.put("p_user_name", "zhangsan"); String returnValue = (String) session.selectOne("User.proHello", param); System.out.println("message=" + param.get("p_user_name")); System.out.println("result=" + param.get("result")); System.out.println("returnValue=" + returnValue); } catch (Exception e) { e.printStackTrace(); } finally { session.close(); } } } |
假设传入的參数是多个的话,
<parameterMap type="drvPhotoListInfo" id="drvPhotoListParam">
<parameter property="sfzmmc" jdbcType="VARCHAR" javaType="java.lang.String" mode="IN" />
<parameter property="sfzmhm" jdbcType="VARCHAR" javaType="java.lang.String" mode="IN" />
<parameter property="dabh" jdbcType="VARCHAR" javaType="java.lang.String" mode="IN" />
<parameter property="daglbm" jdbcType="VARCHAR" javaType="java.lang.String" mode="IN" />
<parameter property="ywglbm" jdbcType="VARCHAR" javaType="java.lang.String" mode="IN" />
<parameter property="jbr" jdbcType="VARCHAR" javaType="java.lang.String" mode="IN" />
<parameter property="bodys" jdbcType="VARCHAR" javaType="java.lang.String" mode="IN" />
<parameter property="returnCode" jdbcType="VARCHAR" javaType="java.lang.String" mode="OUT" />
<parameter property="returnResult" jdbcType="VARCHAR" javaType="java.lang.String" mode="OUT" />
</parameterMap>//调用存储过程的方法
<select id="saveDrvPhotoListInfo" statementType="CALLABLE" parameterMap="drvPhotoListParam">
{call BUSINESS.HIS_DRVDA_IN (?,?,?,? ,?,?,?,?,?)}
</select>
我的存储过程是放在包下边的 假设你没有放在包下 就这样写{call HIS_DRVDA_IN (?,?,?,? ,?,? ,? ,?,?)}
版权声明:本文博客原创文章,博客,未经同意,不得转载。
mybaits使用存储过程的更多相关文章
- 5.MyBaits调用存储过程
1.创建一个javaweb项目MyBatis_Part4_Procedure 2.在src下创建procedure.sql文件 --创建表 create table p_user( id number ...
- java mybaits 调用存储过程
@Override public BaseResultMessage saveOrderConfirm(String billNo) { BaseResultMessage rm = Utils.re ...
- springmvc+mybaits一个事物同时update和调用存储过程异常回滚
事物作用的impl类这样写的 @Override public int updateReturnAll(int item, int status, int idUser) { // TODO Auto ...
- mybaits 学习
mybaits 学习(一) 注意:如果建的是web项目,run as java application 参考http://www.cnblogs.com/xdp-gacl/p/4261895.htm ...
- MyBatis中调用存储过程和函数
一.调用存储过程 1.首先在数据库中定义存储过程,定义的存储过程的代码如下: //定义存储过程 create or replace procedure pag_add(p1 varchar2,p2 v ...
- Mybatis调用数据库的存储过程和方法
转载. https://blog.csdn.net/ml0228123/article/details/81002258 上次的项目,要求我用java代码调用存储过程,折腾了好久.最后总算成功了 ...
- MyBaits理解?
(1)MyBaits是一个基于Java的持久层框架,支持普通或定制化SQL查询.存储过程以及高级映射,使用XML或注解来配置和映射信息. (2)应用程序使用SQLSessionFactory实例,一个 ...
- 将表里的数据批量生成INSERT语句的存储过程 增强版
将表里的数据批量生成INSERT语句的存储过程 增强版 有时候,我们需要将某个表里的数据全部或者根据查询条件导出来,迁移到另一个相同结构的库中 目前SQL Server里面是没有相关的工具根据查询条件 ...
- Dapper逆天入门~强类型,动态类型,多映射,多返回值,增删改查+存储过程+事物案例演示
Dapper的牛逼就不扯蛋了,答应群友做个入门Demo的,现有园友需要,那么公开分享一下: 完整Demo:http://pan.baidu.com/s/1i3TcEzj 注 意 事 项:http:// ...
随机推荐
- Threejs 的场景查看 - 几个交互事件库助你方便查看场景
Threejs 的场景查看 - 几个交互事件库助你方便查看场景 太阳火神的漂亮人生 (http://blog.csdn.net/opengl_es) 本文遵循"署名-非商业用途-保持一致&q ...
- MySQL的Master/Slave群集安装和配置
本文介绍MySQL的Master/Slave群集安装和配置,版本号安装最新的稳定版GA 5.6.19. 为了支持有限HA.我们用Master/Slave读写简单孤立的集群.有限HA这是当Master不 ...
- CSS3 Media Query实现响应Web设计(宽度为不同的移动设备)
现在的屏幕分辨率.小到320px(iPhone),大到2560px或甚至更高(大显示屏).范围内变化很大.除了使用传统的台式机.用户会越来越多的通过手机.上网本.iPad一类的平板设备来浏览页面. 这 ...
- dedecms 文章列表和频道列表同时调用
演示效果:http://www.mypf110.com/qcd/ <div class="changshi_wrap"> {dede:channelartlist ro ...
- FZU2179(数位dp)
传送门:Chriswho 题意:求区间[1,n]内能整除自己本身各位数字的数的个数. 分析:这题跟CF 55D Beautiful numbers一样的,一个数能被它的所有非零数位整除,则能被它们的最 ...
- mysql相关日志汇总
日志作为重要的查询问题的手段.所以尽量记录上自己须要的日志.以供自己查询一些问题. MySQL有下面几种日志: 错误日志: -log-err 查询日志: -log 慢查询日志: -log-slow-q ...
- HTTPS原理(转)
HTTPS是什么 HTTPS全称为Hypertext Transfer Protocol over Secure Socket Layer,及以安全为目标的HTTP通道,简单说就是HTTP的安全版本. ...
- Linux下搭建tomcat集群全记录(转)
本文将讲述如何在Linux下搭建tomcat集群,以及搭建过程中可能的遇到的问题和解决方法.为简单起见,本文演示搭建的集群只有两个tomact节点外加一个apache组成,三者将安装在同一机器上:ap ...
- 【足迹C++primer】30、概要(泛型算法)
概要(泛型算法) 大多数算法的头文件中定义algorithm在. 标准库也是第一个文件numeric它定义了一套通用算法. #include<iostream> #include<n ...
- eval、json.parse()的介绍和使用注意点
原文:eval.json.parse()的介绍和使用注意点 eval和json.parse的使用 eval:来源于官网 定义和用法 eval() 函数可计算某个字符串,并执行其中的的 JavaScri ...