- 浏览: 523551 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (422)
- 重要 (12)
- BUG解决备忘录 (32)
- 环境搭建 (17)
- 开源组件 (4)
- 数据库 (16)
- 设计模式 (4)
- 测试 (3)
- javascript (5)
- Android (14)
- jdk相关 (9)
- struts2 (10)
- freemark (3)
- 自定义扩展及工具类 (5)
- jdk5新特性及java基础 (13)
- ssh及其他框架 (15)
- linux (32)
- tcp-ip http协议 (8)
- 服务器集群与负载均衡 (34)
- 项目管理相关 (11)
- 实用小技术 (10)
- 架构相关 (14)
- firefox组件 (11)
- spider (6)
- 产品设计 (11)
- PHP (1)
- ws (4)
- lucene (10)
- 其他 (2)
- BI (1)
- NoSQL (3)
- gzip (1)
- ext (4)
- db (6)
- socket (1)
- 源码阅读 (2)
- NIO (2)
- 图片处理 (1)
- java 环境 (2)
- 项目管理 (4)
- 从程序员到项目经理(一):没有捷径 (1)
- bug (1)
- JAVA BASE (8)
- 技术原理 (0)
- 新框架新技术 (1)
- 量化与python (1)
- 系统编程 (0)
- C语言 (0)
- 汇编 (0)
- 算法 (0)
最新评论
-
hyspace:
别逗了,最后一个算法根本不是最优的,sort(function ...
数组去重——一道前端校招试题 -
washingtin:
楼主能把策略和路由的类代码贴出来吗
Spring + iBatis 的多库横向切分简易解决思路 -
sdyjmc:
初略看了一下,没有闹明白啊,均衡负载使用Nginx,sessi ...
J2EE集群原理 I -
shandeai520:
谢谢大神!请教大神一个问题:假如我有三台服务器,连接池的上限是 ...
集群和数据库负载均衡的研究 -
hekuilove:
给lz推荐一下apache commonsStringUtil ...
request 获取 ip
1
ibatis
调用oracle函数示例
2
3
4
5
利用空余时间写的一个简单例子,数据库是oracle10g.
6
7
8
9
配置文件:
10
11
OracleSqlMapConfig.xml
12
Xml代码
13
14
1
.
<?
xml version
=
"
1.0
"
encoding
=
"
UTF-8
"
?>
15
2
.
16
3
.
<!
DOCTYPE sqlMapConfig
17
4
. PUBLIC
"
-//ibatis.apache.org//DTD SQL Map Config 2.0//EN
"
18
5
.
"
http://ibatis.apache.org/dtd/sql-map-config-2.dtd
"
>
19
6
.
20
7
.
<
sqlMapConfig
>
21
8
.
22
9
.
<!--
Configure a built
-
in transaction manager. If you
'
re using an
23
10
. app server, you probably want to use its transaction manager
24
11
. and a managed datasource
-->
25
12
.
<
transactionManager type
=
"
JDBC
"
commitRequired
=
"
false
"
>
26
13
.
<
dataSource type
=
"
SIMPLE
"
>
27
14
.
<
property name
=
"
JDBC.Driver
"
28
15
. value
=
"
oracle.jdbc.driver.OracleDriver
"
/>
29
16
.
<
property name
=
"
JDBC.ConnectionURL
"
30
17
. value
=
"
jdbc:oracle:thin:@localhost:1521:ORCL
"
/>
31
18
.
<
property name
=
"
JDBC.Username
"
value
=
"
scott
"
/>
32
19
.
<
property name
=
"
JDBC.Password
"
value
=
"
tiger
"
/>
33
20
.
<
property name
=
"
Pool.MaximumActiveConnections
"
value
=
"
10
"
/>
34
21
.
<
property name
=
"
Pool.MaximumIdleConnections
"
value
=
"
5
"
/>
35
22
.
<
property name
=
"
Pool.MaximumCheckoutTime
"
value
=
"
120000
"
/>
36
23
.
<
property name
=
"
Pool.TimeToWait
"
value
=
"
500
"
/>
37
24
.
<
property name
=
"
Pool.PingEnabled
"
value
=
"
false
"
/>
38
25
.
<
property name
=
"
Pool.PingConnectionsOlderThan
"
value
=
"
1
"
/>
39
26
.
<
property name
=
"
Pool.PingConnectionsNotUsedFor
"
value
=
"
1
"
/>
40
27
.
</
dataSource
>
41
28
.
</
transactionManager
>
42
29
.
43
30
.
<
sqlMap resource
=
"
com/Emp.xml
"
/>
44
31
.
45
32
.
46
33
.
</
sqlMapConfig
>
47
48
<?
xml version
=
"
1.0
"
encoding
=
"
UTF-8
"
?>
49
50
<!
DOCTYPE sqlMapConfig
51
PUBLIC
"
-//ibatis.apache.org//DTD SQL Map Config 2.0//EN
"
52
"
http://ibatis.apache.org/dtd/sql-map-config-2.dtd
"
>
53
54
<
sqlMapConfig
>
55
56
<!--
Configure a built
-
in transaction manager. If you
'
re using an
57
app server, you probably want to use its transaction manager
58
and a managed datasource
-->
59
<
transactionManager type
=
"
JDBC
"
commitRequired
=
"
false
"
>
60
<
dataSource type
=
"
SIMPLE
"
>
61
<
property name
=
"
JDBC.Driver
"
62
value
=
"
oracle.jdbc.driver.OracleDriver
"
/>
63
<
property name
=
"
JDBC.ConnectionURL
"
64
value
=
"
jdbc:oracle:thin:@localhost:1521:ORCL
"
/>
65
<
property name
=
"
JDBC.Username
"
value
=
"
scott
"
/>
66
<
property name
=
"
JDBC.Password
"
value
=
"
tiger
"
/>
67
<
property name
=
"
Pool.MaximumActiveConnections
"
value
=
"
10
"
/>
68
<
property name
=
"
Pool.MaximumIdleConnections
"
value
=
"
5
"
/>
69
<
property name
=
"
Pool.MaximumCheckoutTime
"
value
=
"
120000
"
/>
70
<
property name
=
"
Pool.TimeToWait
"
value
=
"
500
"
/>
71
<
property name
=
"
Pool.PingEnabled
"
value
=
"
false
"
/>
72
<
property name
=
"
Pool.PingConnectionsOlderThan
"
value
=
"
1
"
/>
73
<
property name
=
"
Pool.PingConnectionsNotUsedFor
"
value
=
"
1
"
/>
74
</
dataSource
>
75
</
transactionManager
>
76
77
<
sqlMap resource
=
"
com/Emp.xml
"
/>
78
79
80
</
sqlMapConfig
>
81
82
83
84
Emp.xml
85
Xml代码
86
87
1
.
<?
xml version
=
"
1.0
"
encoding
=
"
UTF-8
"
?>
88
2
.
89
3
.
<!
DOCTYPE sqlMap
90
4
. PUBLIC
"
-//ibatis.apache.org//DTD SQL Map 2.0//EN
"
91
5
.
"
http://ibatis.apache.org/dtd/sql-map-2.dtd
"
>
92
6
.
93
7
.
<
sqlMap namespace
=
"
Emp
"
>
94
8
.
95
9
.
<!--
取别名
-->
96
10
.
<
typeAlias alias
=
"
emp
"
type
=
"
com.Emp
"
/>
97
11
.
98
12
.
<
resultMap id
=
"
emp-map
"
class
=
"
emp
"
>
99
13
.
<
result property
=
"
ename
"
column
=
"
ENAME
"
/>
100
14
.
</
resultMap
>
101
15
.
102
16
.
<
parameterMap id
=
"
test
"
class
=
"
java.util.HashMap
"
>
103
17
.
<
parameter property
=
"
result
"
jdbcType
=
"
ORACLECURSOR
"
javaType
=
"
java.sql.ResultSet
"
mode
=
"
OUT
"
resultMap
=
"
emp-map
"
/>
104
18
.
<
parameter property
=
"
param1
"
jdbcType
=
"
VARCHAR
"
javaType
=
"
java.lang.String
"
mode
=
"
IN
"
/>
105
19
.
</
parameterMap
>
106
20
.
107
21
.
<
procedure id
=
"
testCur
"
parameterMap
=
"
test
"
>
108
22
.
{
?
=
call selectemp(
?
)}
109
23
.
</
procedure
>
110
24
.
111
25
.
</
sqlMap
>
112
139
数据库脚本:
140
Sql代码
152
create or replace function scott.selectemp(
153
param1 in varchar2
154
)
return
sys_refcursor
155
is
156
outcursor sys_refcursor;
157
begin
158
open outcursor
for
select ename from scott.emp where emp.ename like param1 ;
159
return
outcursor;
160
end;
161
162
pojo类:
163
Java代码
164
165
1
.
package
com;
166
2
.
167
3
.
public
class
Emp
{
168
4
.
169
5
.
private
int
empno;
170
6
.
171
7
.
private
String ename;
172
8
.
173
9
.
private
String job;
174
10
.
175
11
.
private
float
sal;
176
12
.
177
13
.
private
float
comm;
178
14
.
179
15
.
public
float
getComm()
{
180
16
.
return
comm;
181
17
. }
182
18
.
183
19
.
public
void
setComm(
float
comm)
{
184
20
.
this
.comm
=
comm;
185
21
. }
186
22
.
187
23
.
public
int
getEmpno()
{
188
24
.
return
empno;
189
25
. }
190
26
.
191
27
.
public
void
setEmpno(
int
empno)
{
192
28
.
this
.empno
=
empno;
193
29
. }
194
30
.
195
31
.
public
String getEname()
{
196
32
.
return
ename;
197
33
. }
198
34
.
199
35
.
public
void
setEname(String ename)
{
200
36
.
this
.ename
=
ename;
201
37
. }
202
38
.
203
39
.
public
String getJob()
{
204
40
.
return
job;
205
41
. }
206
42
.
207
43
.
public
void
setJob(String job)
{
208
44
.
this
.job
=
job;
209
45
. }
210
46
.
211
47
.
public
float
getSal()
{
212
48
.
return
sal;
213
49
. }
214
50
.
215
51
.
public
void
setSal(
float
sal)
{
216
52
.
this
.sal
=
sal;
217
53
. }
218
54
.
219
55
. }
220
280
281
测试代码:
282
Java代码
283
284
1
. Reader reader
=
Resources.getResourceAsReader(
"
com/OracleSqlMapConfig.xml
"
);
285
2
. SqlMapClient client
=
SqlMapClientBuilder.buildSqlMapClient(reader);
286
3
. reader.close();
287
4
. Map
<
String, Object
>
p
=
new
HashMap
<
String, Object
>
();
288
5
. p.put(
"
param1
"
,
"
%S%
"
);
289
6
. client.queryForObject(
"
testCur
"
, p);
290
7
. List list
=
(List) p.get(
"
result
"
);
291
8
.
for
(
int
i
=
0
; i
<
list.size(); i
++
)
{
292
9
. Emp emp
=
(Emp) list.get(i);
293
10
. System.out.println(emp.getEname());
294
11
. }
发表评论
-
求鱼不如求渔 Welcome to MICKY's HOME Spring中加载ApplicationContext.xml文件的方式【转
2013-03-08 10:43 8371.利用ClassPathXmlApplication ... -
小试Bean Validation
2012-03-18 21:56 866数据校验是任何一个应用程序都会用到的功能,无论是显示层还是持久 ... -
Hibernate-Validation的使用
2012-03-18 11:56 1458以前弄过hibernate-validation的,可今天 ... -
springMVC3 基于注解的输入验证
2012-03-18 00:51 1615在pom.xml中加入,他需要validation-api ... -
pring3.0支持restful实例
2012-03-16 11:59 1097最近在研究spring3.0以及传说中的restful,还 ... -
Spring REST
2012-03-16 11:40 1193前面介绍过Spring的MVC结合不同的view显示不同的 ... -
设计 REST 风格的 MVC 框架
2012-03-16 11:38 955简介: 传统的 JavaEE MVC 框架如 Struts ... -
Spring mvc 构造RESTful URL 详细讲解(spring 3.0 应用)
2012-03-16 11:34 2336详细讲解spring rest使用,简单例子如下: / ... -
Spring MVC REST 例子
2012-03-16 03:17 1235package com.benx; ... -
通通透透理解ThreadLocal
2011-02-23 18:06 735概述 我们知道Spring通过各种DAO模板类降低了开发者使 ... -
乐观锁与悲观锁
2011-02-23 17:49 871文章转自网上好像是玉米田的,忘记了锁( locking ) 业 ... -
spring 依赖注入到直接new 对象
2010-09-16 15:50 1017当为遗留系统加入spring时,经典问题就是遗留系统需要引用s ... -
Spring注解入门
2010-06-03 17:11 8431. 使用Spring注解来注入属性 1.1. 使用注解 ... -
Spring2.0用注解实现事务管理
2010-06-03 15:50 902Spring2.0 框架的事务处理有两大类: 1 ...
相关推荐
ibatIS调用存储过程是数据库操作中常见的一种技术,特别是在复杂的业务逻辑处理或数据批量操作时,存储过程能够提供更高的效率和更好的性能。本文将深入探讨如何在ibatIS框架中调用存储过程,以及涉及到的相关知识点...
### Ibatis调用存储过程详解 #### 一、引言 在实际的软件开发过程中,存储过程因其执行效率高及数据库级别的安全性等优点被广泛应用于各种业务场景之中。而对于使用Ibatis作为持久层框架的应用来说,如何有效地...
ibatis调用oracle存储过程分页
本文将详细探讨如何使用iBATIS调用Oracle存储过程,并处理返回的Cursor结果集。 首先,理解iBATIS调用存储过程的基本原理。iBATIS允许开发者在映射文件中定义存储过程调用,通过`<procedure>`标签来实现。在这个...
当我们需要调用数据库中的存储过程时,iBATIS也提供了一种简便的方法。本篇文章将详细介绍如何在iBATIS中调用存储过程,包括带参数和不带参数的存储过程,并通过一个具体的例子进行说明。 首先,存储过程是预编译的...
根据提供的文件信息,标题为“ibatis调用存储过程”,主要关注的是如何使用ibatis框架来调用数据库中的存储过程。下面将详细解释ibatis框架的基本概念、存储过程的概念以及如何在ibatis中配置和执行存储过程。 ### ...
iBatis调用存储过程
在Java开发中,使用iBATIS(现在称为MyBatis)作为持久层框架时,调用数据库的存储过程是一种常见的需求。本文将详细介绍如何使用iBATIS调用存储过程,并提供一个简单的示例来说明其过程。 首先,我们需要在数据库...
在IT领域,特别是数据库操作与Java开发中,利用ibatis框架调用Oracle存储过程是一个常见的需求,这不仅能够提升代码的执行效率,还能增强应用程序的安全性。本文将深入解析ibatis如何与Oracle数据库中的存储过程进行...
"IBatis查删改查与调用存储过程 mysql数据库" 这个标题揭示了本文将深入探讨如何使用IBatis框架在MySQL数据库中执行基本的CRUD(创建、读取、更新、删除)操作,以及如何调用存储过程。IBatis是一个轻量级的Java持久...
本文将深入探讨如何使用iBatis调用存储过程并返回游标,这是一个在处理复杂数据库操作时常见的需求。 ### iBatis调用存储过程返回游标 #### 存储过程简介 存储过程是预先编译并存储在数据库中的SQL代码块,它可以...
在这个项目中,我们结合了Spring框架、Ibatis持久层框架以及Blazeds技术,来演示如何调用存储过程并处理返回的结果集。下面将详细讲解这些技术的运用。 首先,J2EE是一种广泛用于开发分布式企业应用的平台,它提供...
### Ibatis调用Oracle存储过程返回自定义类型 在企业级应用开发中,尤其是在金融、保险等业务场景中,往往需要处理复杂的数据结构与逻辑。本文将深入探讨如何使用Ibatis框架来调用Oracle数据库中的存储过程,并实现...
本篇文章将深入探讨如何在Ibatis中实现增、删、查、改(CRUD)操作,并调用存储过程,同时涉及相关的表结构设计。 首先,Ibatis通过XML配置文件或注解方式定义了SQL语句,允许我们编写动态SQL,以适应不同的查询...
Ibatis,一个轻量级的Java持久层框架,提供了与数据库交互的能力,包括调用这些Oracle的函数和存储过程。本篇文章将详细介绍如何在Ibatis中调用Oracle的函数和存储过程。 首先,理解基本概念: 1. **Oracle函数**...
**iBATIS存储过程调用** 在iBATIS中调用存储过程通常涉及以下几个步骤: 1. **配置存储过程**:在SQL映射文件中定义存储过程的标签,指定存储过程名以及输入和输出参数。 2. **设置参数**:在Java代码中创建参数...
在传统的SQL调用中,Ibatis通过XML配置文件或注解来定义SQL语句,但在某些场景下,如复杂的业务逻辑处理、批量操作等,存储过程的使用更为合适。 存储过程是数据库中预编译的SQL语句集合,它可以包含输入、输出和...
本篇文章将详细探讨如何在iBatis中调用Oracle的函数和存储过程,尤其是处理IN和OUT参数以及游标的场景。 首先,我们需要了解iBatis的基本工作原理。iBatis是一个SQL映射框架,它允许开发者将SQL语句写在XML配置文件...
在IT行业中,数据库操作是不可或缺的一部分,而IBatis作为一款流行的数据映射框架,提供了一种灵活的方式来处理SQL语句,包括调用存储过程。存储过程是数据库中预编译的SQL语句集合,可以提高性能、增强安全性,并...