zoukankan      html  css  js  c++  java
  • 回顾存储过程简单使用

    存储过程创建

    • 很长时间没有在项目中使用到存储过程,今天特意回顾一下存储过程的创建与调用。存储过程类似于Java中的函数,我们定义函数(存储过程)将内部逻辑(SQL)封装。在调用时,只需要指定方法名(存储过程名称),传入对应的参数即可。下面我们在mysql终端定义存储过程
    1 mysql> delimiter $$ //定义与mysql默认的结束符(;)不同的结束符,避免下面的sql遇到(;)结束存储过程的创建
    2 mysql> create procedure getPowerUnit(in puId varchar(50)) //这里的varchar需要指定长度
    3     -> begin
    4     -> select * from power_unit where pu_id = puId;
    5     -> end$$ //新定义的结束符,到此存储过程定义结束
    6 Query OK, 0 rows affected (0.12 sec)
    7 mysql> delimiter ; //切换为默认的结束符号
    

    存储过程调用

    • 上面我们定义了通过表主键pu_id查询记录的一个存储过程,在调用时需要使用指令call
     1 mysql> call getPowerUnit('pu20191213144059-0');
     2 +--------------------+----------+----------------+-------------+-------------------+-------------+-------------+---------------+---------------------+-------------+-------------+---------------+--------+
     3 | pu_id              | pu_name  | description    | admin_state | operational_state | pu_validity | pu_owner_id | pu_owner_name | create_time         | cancel_time | delete_time | particle_size | belong |
     4 +--------------------+----------+----------------+-------------+-------------------+-------------+-------------+---------------+---------------------+-------------+-------------+---------------+--------+
     5 | pu20191213144059-0 | 1000KG缸 | 布带/码装/织带    |           1 |                 1 |           1 |           1 | 负责人        | 2019-12-13 14:41:00 | NULL        | NULL        |             1 |   NULL |
     6 +--------------------+----------+----------------+-------------+-------------------+-------------+-------------+---------------+---------------------+-------------+-------------+---------------+--------+
     7 1 row in set (0.00 sec)
     8 
     9 Query OK, 0 rows affected, 1 warning (0.04 sec)
    

    mybatis调用存储过程

    • 这里省略mapper接口中定义的抽象方法“Power selectPowerUnitById(String puId)”
    1 <!-- 添加用户 -->
    2     <select id="selectPowerUnitById" parameterType="java.lang.String" statementType="CALLABLE">
    3         {call getPowerUnit(#{puId,mode=IN})}
    4     </select>
    

    定义完成,接下来与正常开发中的使用一致!
    详细教程

  • 相关阅读:
    java 实现图表展示
    jar包可以到maven下载
    eclipse java ee 添加jrebel 工具
    单链表逆序
    面试-准备
    面试基础知识整理
    mysql中CONCAT值为空的问题解决办法
    数字签名 数字证书
    java 内存泄露分析(jmap + MemoryAnalyzer)
    Chrome 控制台console的用法
  • 原文地址:https://www.cnblogs.com/yiweiblog/p/12671843.html
Copyright © 2011-2022 走看看