如何使用Mybaits调用数据库中的存储过程,下面以Oracle数据库的为例:
1.在数据库中创建以下的存储过程:
create or
replace procedure pro_hello(p_user_name in varchar2,p_result out varchar2) is
begin
p_result := 'hello,' || p_user_name;
end;
|
2.编写SQL映射文件mapper.xml:
<select
id="proHello" statementType="CALLABLE">
<![CDATA[
{call pro_hello (#{p_user_name,mode=IN,jdbcType=VARCHAR},#{result,mode=OUT,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();
}
}
}
|
4.执行Java代码,控制台输出结果如下:
2012-03-07
20:36:32,406 DEBUG [java.sql.PreparedStatement] -==> Executing: {call pro_hello(?,?)}
2012-03-07
20:36:32,406 DEBUG [java.sql.PreparedStatement] -==> Parameters:
zhangsan(String)
message=zhangsan
|
分享到:
相关推荐
在调用存储过程时,我们需要利用MyBatis提供的API和配置机制来实现。 1. **配置MyBatis**:在`mybatis-config.xml`配置文件中,你需要添加数据库连接信息,例如数据源、驱动类等。同时,也需要将你的Mapper接口文件...
MyBatis作为一款流行的Java持久层框架,提供了调用存储过程的功能。下面将详细介绍如何在MyBatis中配置和使用存储过程。 ### 1. 配置MyBatis XML映射文件 在MyBatis的映射文件(mapper.xml)中,我们需要为存储...
MyBatis作为一款流行的Java持久层框架,它提供了调用存储过程的功能,使得开发者能够方便地在Java应用中利用数据库的存储过程。下面将详细介绍如何在MyBatis中调用存储过程以及相关的知识点。 1. MyBatis概述 ...
能不能写个动态的业务,只输入存储过程名称,自动获取存储过程参数,并且参数的数据从前台传递过来...只根据输入不同的存储过程名称、参数内容,自动调用不同的存储过程。 已经使用在多个项目中 全开源项目 请放心下载
本文将深入探讨如何在Spring Boot项目中整合MyBatis,实现调用Oracle存储过程并处理游标返回的数据。 首先,我们需要在Spring Boot项目中引入相关的依赖。在`pom.xml`文件中添加Oracle JDBC驱动(ojdbc66-oracle...
下面将详细介绍如何使用MyBatis来调用Oracle存储过程。 ### 1. 创建Oracle存储过程 首先,我们需要在Oracle数据库中创建一个存储过程。例如,假设我们有一个名为`INSERT_EMPLOYEE`的存储过程,用于插入新的员工...
本文将深入探讨如何在Spring和MyBatis集成环境中调用Oracle数据库的存储过程,包括无返回值、返回结果集以及返回多个结果的情况。 首先,让我们理解基础概念。Spring是一个全面的后端开发框架,它提供了依赖注入、...
本篇将详细阐述如何使用MyBatis调用MySQL中的存储过程,帮助你深入理解这一核心技能。 首先,我们需要了解存储过程的基本概念。存储过程是预编译的SQL语句集合,它封装了多个操作,可以在数据库服务器上执行,提高...
注意,虽然存储过程通常与`insert`, `update`, 或 `delete`关联,但在MyBatis中,调用存储过程需要使用`select`标签。设置`useGeneratedKeys`和`keyProperty`用于获取输出参数: ```xml { call calculate_...
这里,我们将使用MyBatis的SqlSession对象,通过Mapper接口来调用存储过程。 1. 配置MyBatis: 在Spring MVC项目中,你需要配置MyBatis与Spring的整合,这通常涉及到`mybatis-config.xml`,`sqlSessionFactory`和`...
MyBatis调用MYSQL存储过程 返回多行 引用的包: asm-3.1.jar cglib-2.2.jar commons-logging-1.1.1.jar log4j-1.2.13.jar mybatis-3.0.4.jar mysql-connector-java-5.1.13.jar slf4j-api-1.5.8.jar slf4j-log4j12-...
"Mybatis调用Oracle存储过程传List...使用Mybatis传List参数调用Oracle存储过程,可以实现批量插入数据,解决了Mybatis批量插入数据的限制问题。同时,这种方法也可以灵活地控制事务回滚,提高了系统的可靠性和性能。
《手写Mybatis》第4章深入探讨了Mapper XML的解析和注册使用,这是Mybatis框架的核心部分,它涉及到如何将XML配置文件转换为可执行的数据库操作。本章主要目标是实现对Mapper XML文件的解析,提取SQL信息,并创建...
本合集主要探讨如何在Java中利用MyBatis来调用MySQL的存储过程和函数。 1. **存储过程和函数的基本概念** - 存储过程:是一组预先编译的SQL语句,可以包含输入、输出参数,能够执行复杂的数据库操作。 - 函数:与...
那么,如何使用Mybatis调用Oracle存储过程呢?本文将详细介绍Mybatis调用Oracle存储过程的方法。 无参数存储过程的调用 首先,需要创建一个无参数的存储过程。例如,创建一个名为`proc_no_param`的存储过程,用于...
在本文中,我们将探讨如何在Mybatis框架中调用PostgreSQL的存储过程,特别是处理 PostgreSQL 的数组类型作为存储过程的输入参数。Mybatis是一个流行的Java持久层框架,它允许开发者编写SQL语句,并与Java对象进行...
MyBatis是一个优秀的持久层框架,它支持自定义SQL、存储过程以及高级映射。MyBatis免除了几乎所有的JDBC代码以及设置参数和获取结果集的工作。MyBatis可以通过简单的XML或注解来配置和映射原始类型、接口和Java POJO...
本文将详细介绍如何使用MyBatis调用MySQL存储过程,以及存储过程的相关概念、优缺点和基本语法。 首先,存储过程是数据库中预编译的一组SQL语句,它可以包含控制流语句,以实现更复杂的业务逻辑。存储过程的创建和...
本项目采用的是经典的Java EE技术栈:Maven、SpringMVC、Spring和Mybatis,来实现这一功能,同时包含了调用数据库存储过程的操作。以下是关于这个项目的关键知识点的详细说明: 1. Maven:Maven是一个项目管理工具...
ibatis调用oracle存储过程分页