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>
    

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

  • 相关阅读:
    gost源码分析心得
    go语言net编程,设置TCP连接发出使用源IP
    代理程序gost使用
    squid关闭缓存
    shell中的if比较
    10年以上年化20%以上收益率的基金经理
    股票信息查询
    02.win2003虚拟机安装和dos命令
    01.网络安全和虚拟机
    部署kali渗透环境
  • 原文地址:https://www.cnblogs.com/yiweiblog/p/12671843.html
Copyright © 2011-2022 走看看