Mybatis调用存储过程

简介: 调用存储过程 mybatis调用存储过程时需要指定statementType="CALLABLE",这样Mybatis内部中调用sql语句时将采用CallableStatementHandler,而CallableStatementHandler内部将使用CallableStatement来调用存储过程。

调用存储过程

mybatis调用存储过程时需要指定statementType="CALLABLE",这样Mybatis内部中调用sql语句时将采用CallableStatementHandler,而CallableStatementHandler内部将使用CallableStatement来调用存储过程。如果存储过程是有参数的,需要指定mode属性,可选值有IN、OUT和INOUT。当mode为OUT或INOUT时必须同时指定jdbcType。示例如下:

<select id="findName" statementType="CALLABLE">
    {call findName(
        #{username, mode=IN},
        #{name, mode=OUT, jdbcType=VARCHAR}
    )}
</select>

存储过程调用完成后会把输出参数赋值给入参,所以我们可以通过Map或实体类来接收输出参数,比如这里的name。所以针对上述存储过程调用,我们可以在Mapper接口中定义如下方法:

/**
 * 参数和结果都在params中
 * @param params
 */
void findName(Map<String, Object> params);

在上述示例中,Map类型的params参数中需要有key为username的参数,调用完成后会把输出参数name存入到params这个Map中。当然了我们也可以通过实体类来作为入参的传递者和结果的接收者。示例如下:

/**
 * 参数和结果都包装为一个User对象
 * @param user
 */
void findName(User user);

本文是基于Oracle所写,Elim写于2017年11月4日。

目录
相关文章
|
存储 SQL Java
Springboot Mybatis 、JPA 调用存储过程,实战教程
Springboot Mybatis 、JPA 调用存储过程,实战教程
1233 0
Springboot Mybatis 、JPA 调用存储过程,实战教程
|
存储 XML Java
Mybatis中使用存储过程实践
Mybatis中使用存储过程实践
207 0
|
存储 Java 数据库连接
MyBatis 调用存储过程
MyBatis 调用存储过程
85 0
|
XML 存储 Oracle
mybatis 注解调用Oracle存储过程
看别人的博客试了半天注解调用一直报错,然后试了试xml里面写,成功了
|
存储 SQL Java
Mybatis学习笔记(四)调用存储过程
Mybatis学习笔记(四)调用存储过程
|
存储 SQL Oracle
mybatis 操作存储过程 小细节错误
项目开发的时候遇到一个错误:
350 0
mybatis 操作存储过程 小细节错误
|
存储 SQL Java
MyBatis学习之简单增删改查操作、MyBatis存储过程、MyBatis分页、MyBatis一对一、MyBatis一对多
一、用到的实体类如下: Student.java [html] view plaincopy   package com.company.entity;      import java.
936 0
|
1天前
|
前端开发 Java 数据库连接
Java后端开发-使用springboot进行Mybatis连接数据库步骤
本文介绍了使用Java和IDEA进行数据库操作的详细步骤,涵盖从数据库准备到测试类编写及运行的全过程。主要内容包括: 1. **数据库准备**:创建数据库和表。 2. **查询数据库**:验证数据库是否可用。 3. **IDEA代码配置**:构建实体类并配置数据库连接。 4. **测试类编写**:编写并运行测试类以确保一切正常。
10 2
|
3月前
|
Java 数据库连接 Maven
mybatis使用一:springboot整合mybatis、mybatis generator,使用逆向工程生成java代码。
这篇文章介绍了如何在Spring Boot项目中整合MyBatis和MyBatis Generator,使用逆向工程来自动生成Java代码,包括实体类、Mapper文件和Example文件,以提高开发效率。
177 2
mybatis使用一:springboot整合mybatis、mybatis generator,使用逆向工程生成java代码。
|
3月前
|
SQL JSON Java
mybatis使用三:springboot整合mybatis,使用PageHelper 进行分页操作,并整合swagger2。使用正规的开发模式:定义统一的数据返回格式和请求模块
这篇文章介绍了如何在Spring Boot项目中整合MyBatis和PageHelper进行分页操作,并且集成Swagger2来生成API文档,同时定义了统一的数据返回格式和请求模块。
117 1
mybatis使用三:springboot整合mybatis,使用PageHelper 进行分页操作,并整合swagger2。使用正规的开发模式:定义统一的数据返回格式和请求模块