mybaits使用存储过程

mybaits使用存储过程

大家好,又见面了,我是全栈君,今天给大家准备了Idea注册码。

如何使用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 (?,?,?,?

,?,?

,?

,?,?)}

版权声明:本文博客原创文章,博客,未经同意,不得转载。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/117668.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • python的标识符可以以汉字开头_Python标识符命名小知识[通俗易懂]

    python的标识符可以以汉字开头_Python标识符命名小知识[通俗易懂]简单地理解,标识符就是一个名字,就好像我们每个人都有属于自己的名字,它的主要作用就是作为变量、函数、类、模块以及其他对象的名称。Python中标识符的命名不是随意的,而是要遵守一定的命令规则,比如说:1.标识符是由字符(A~Z和a~z)、下划线和数字组成,但第一个字符不能是数字。2.标识符不能和Python中的保留字相同。有关保留字,后续章节会详细介绍。3.Python中的标识符中,不能…

    2025年9月1日
    3
  • 完全卸载oracle11g步骤

    完全卸载oracle11g步骤完全卸载oracle11g步骤:1、开始->设置->控制面板->管理工具->服务停止所有Oracle服务。2、开始->程序->Oracle-OraHome81->OracleInstallationProducts->UniversalInstaller,单击“卸载产品”-“全部展开”,选中除“OraDb11g_home1”外的全部目录,删除。5、运行regedit

    2022年5月30日
    32
  • 互联网创业公司如何防御ddos攻击风险_怎么防止ddos

    互联网创业公司如何防御ddos攻击风险_怎么防止ddosDDoS(DistributedDenialofService,分布式拒绝服务)主要通过大量合法的请求占用大量网络资源,从而使合法用户无法得到服务的响应,是目前最强大、最难防御的攻击之一。什么是DDoS攻击?看到一个好玩的解释,源自百度百科,一群恶霸试图让对面那家有着竞争关系的商铺无法正常营业,他们会采取什么手段呢?恶霸们扮作普通客户一直拥挤在对手的商铺,赖着不走,真正的购物者却无法进入;或者总是和营业员有一搭没一搭的东扯西扯,让工作人员不能正常服务客户;也可以为商铺的经营者提供虚假信息,商铺

    2025年6月3日
    3
  • bootstrap模态框动态赋值, ajax异步请求数据后给id为queryInfo的模态框赋值并弹出模态框(JS)…

    bootstrap模态框动态赋值, ajax异步请求数据后给id为queryInfo的模态框赋值并弹出模态框(JS)…

    2021年11月8日
    43
  • 什么是虚拟机?什么是Java虚拟机?

    什么是虚拟机?什么是Java虚拟机?什么是虚拟机?什么是Java虚拟机?虚拟机介绍虚拟机,就是虚拟的计算机,可以执行一系列虚拟计算机指令,大体上可以分为系统虚拟机和程序虚拟机。它们运行时,都会受到虚拟机提供的资源的限制。系统虚拟机:仿真模拟系统的,比如VisualBox,VMware。程序虚拟机:为执行单个计算机程序设计的,比如Java虚拟机。JAVA虚拟机Java虚拟机是一台执行字节码的虚拟机计算机,但是字节码不一定是由Java语言编译而成。只要使用这一套虚拟机规则的语言,就可以享受到跨平台,垃圾收集以及可靠的即时编译器

    2022年7月8日
    20

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号