[code="java"]
public class Dept {
private Integer deptno;// 部门编号
private String dname;// 部门名称
private String loc;// 部门位置
//省略get 和set方法
}
public class Emp {
private Integer empno;//员工编号
private String ename;//员工姓名
private String job;//职位
private Integer mgr;//经理号
private Date hiredate;//雇佣日期
private Float sal;//工资
private Float comm;//工资补助
private Integer deptno;//部门编号
//省略get 和set方法
}
//创建表的脚步和初始化数据
create table dept
(
deptno number(7) primary key,
dname varchar2(30) ,
loc varchar2(30)
);
insert into dept values(1,'市场部','');
insert into dept values(2,'开发部','');
insert into dept values(3,'服务部','');
create table emp
(
empno number(7) primary key,
ename varchar2(20),
job varchar2(10),
mgr number(4),
hiredate date,
sal number(7,2),
comm number(7,2),
deptno number(7)
);
//建立关联关系,也可以不建立,可以省略,程序维护
alter table emp add constraint foreign key fk_emp_dept(deptno) references dept(deptno);
insert into emp values(7233,'tomcat','saler',7369,date'2000-9-5',5000,null,1);
insert into emp values(7369,'mysql','manager',1,date'2000-2-12',6600,200,2);
insert into emp values(7562,'java','saler',2,date'2000-3-23',8000,100,1);
insert into emp values(7412,'struts','saler',2,date'1999-5-14',20000,null,1);
insert into emp values(7986,'hibernate','manager',7512,date'2000-2-12',6600,200,2);
insert into emp values(7328,'spring','saler',2,date'1988-12-25',8000,1000,1);
//创建序列
create sequence myseq;
//存储过程
create or replace
procedure mypro(dept_no out number,deptname in varchar2,dept_loc in varchar2)
as
no number(7);
insertStr varchar(150);
begin
select myseq.nextval into no from dual;
dept_no:=no;
insertStr := 'insert into dept(deptno,dname,loc)
values('||dept_no||','||''''||deptname||''''||','||''''||dept_loc||''''||')';
execute immediate insertStr;
commit;
end;
ibatis的配置文件:
{call mypro(?,?,?)}
3 测试方法
SqlMapClient sqlClient = null;
try {
Reader reader = Resources
.getResourceAsReader("config/SqlMapConfig.xml");
sqlClient = SqlMapClientBuilder.buildSqlMapClient(reader);
reader.close();
// Map map = new HashMap();
// //map.put("deptno", 10);
// map.put("deptname", "name");
// map.put("dept_loc", "loc");
// sqlClient.startTransaction();
// sqlClient.queryForObject("saveDept", map);
//
// sqlClient.commitTransaction();
Map map = new HashMap();
BigDecimal key = new BigDecimal(0);
map.put("dept_no", key);
map.put("dept_name“;, "name");
map.put("dept_loc”, "loc");
sqlClient.startTransaction();
Object object = sqlClient.queryForObject("saveDept", map);
sqlClient.commitTransaction();
System.out.println(map.get("dept_no").toString());
} catch (Exception e) {
e.printStackTrace();
System.out.println(e.getMessage());
}
[/code]
分享到:
相关推荐
vba 调用oracle 存储过程vba 调用oracle 存储过程vba 调用oracle 存储过程vba 调用oracle 存储过程vba 调用oracle 存储过程
本文实例讲述了Python使用cx_Oracle调用Oracle存储过程的方法。分享给大家供大家参考,具体如下: 这里主要测试在Python中通过cx_Oracle调用PL/SQL。 首先,在数据库端创建简单的存储过程。 create or replace ...
ibatis调用oracle存储过程分页
oracle存储过程--数字大写变小写,使用存储过程将数字的大写转成小写,在程序中可以直接调用
使用hibernate的query调用oracle的存储过程/function,包含例子,源码以及数据库文件
能不能写个动态的业务,只输入存储过程名称,自动获取存储过程参数,并且参数的数据从前台传递过来...只根据输入不同的存储过程名称、参数内容,自动调用不同的存储过程。 已经使用在多个项目中 全开源项目 请放心下载
C#中调用oracle存储过程返回数据集
润乾报表简单调用oracle存储过程的说明文档,参照文档可创建可执行案例
Spring JdbcTemplate调用Oracle存储过程输出游标结果集实现增删改查
C#中调用Oracle存储过程
Java调用存储过程--传入集合参数 具体的方法描述分析
java调用oracle存储过程或者函数
C#调用oracle存储过程的通用方法 C#调用oracle存储过程的通用方法
通过实例详细介绍了用java调用oracle存储过程的方法和步骤,包括无返回值的存储过程、有返回值的存储过程(非列表)和返回列表的存储过程的编写、JAVA调用,是一个对存储过程调用的一个全面总结,对程序开发具体实际...
详细的记录了C#如何调用oracle以及带有存储过程输出变量的方法,适合初学者。
VFP调用ORACLE存储过程数据库接口程序.pdf
ibatis调用oracle存储过程
使用Spring的JdbcTemplate调用Oracle的存储过程
java调用oracle存储过程实现增删改查
Jsp中调用Oracle存储过程的小例子