XML 文件的statement到底是个啥?

statement 概述

<!--添加部门-->
<select id="addDep" statementType="">

</select>

作用: Statement 对象用于将 SQL 语句发送到数据库中。

三个对象:

Statement:Statement 对象用于执行不带参数的简单 SQL 语句。接口提供了执行语句和获取结果的基本方法。

典型应用:

建立了到特定数据库的连接之后,就可用该连接发送 SQL 语句。Statement 对象用 Connection 的方法createStatement 创建,如下列代码段中所示:

Connection con = DriverManager.getConnection(url, "sunny","");
Statement stmt = con.createStatement();

Prepared: Prepared对象用于执行带或不带输入参数的预编译 SQL 语句。接口添加了处理 IN 参数的方法。(默认状态

Callable:   Callable对象用于执行对数据库已存储过程的调用。添加了处理 输出参数的方法。

典型作用:调用数据库写好的存储过程

<select id="addDep" statementType="CALLABLE">
        call addDep(#{depName, mode=IN,jdbcType=VARCHAR},#{parentId, mode=IN, jdbcType=INTEGER},
         #{enabled, mode=IN, jdbcType=BOOLEAN}, #{result1, mode=OUT, jdbcType=INTEGER},
          #{result2, mode=OUT, jdbcType=INTEGER})
    </select>

数据库函数:

CREATE DEFINER=`root`@`localhost` PROCEDURE `addDep`(in depName varchar(32),in parentId int,in enabled boolean,out result int,out result2 int)
begin
  declare did int;
  declare pDepPath varchar(64);
  insert into t_department set name=depName,parentId=parentId,enabled=enabled;
  select row_count() into result;
  select last_insert_id() into did;
  set result2=did;
  select depPath into pDepPath from t_department where id=parentId;   
  update t_department set depPath=concat(pDepPath,'.',did) where id=did;
  update t_department set isParent=true where id=parentId;
end

sql语句中 call + 函数名称 + (输入输出参数定义)  * 输出参数需要在实体类中定义*。

此种用法主要用于实现某个功能存在较多的数据库操作。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值