存储过程增删改查

存储过程查询
建过程
1.建个游标
CREATE OR REPLACE PACKAGE MYPACKAGE   AS   


TYPE MY_CURSOR IS REF CURSOR;   


end MYPACKAGE;
2.建过程
create or replace PROCEDURE pro_3(p_CURSOR OUT MYPACKAGE.mycursor)
IS
BEGIN
  OPEN P_CURSOR FOR SELECT * FROM REGIST;
  
END PRO_3;
3在xml里写个配置
  <select id="sss" statementType="CALLABLE" >
   {call SCOTT.pro_3(#{pro_31,mode=OUT,jdbcType=CURSOR,resultMap=BaseRegistMap,javaType=java.sql.ResultSet})}
  </select>
4.在MapperInterger里建个方法
 List<Regist>sss(Map<String, Object>map);
5.返回个list的集合
sqlSession.getMapper(RegistMapper.class).sss(map);
List<Regist> dlist=(List<Regist>)map.get("pro_31");
6.查询
RegistMapper mapper=new RegistMapperImpl();
Map<String,Object> map=new HashMap<String, Object>();
System.out.println(mapper.sss(map));


添加
1.过程
create or replace PROCEDURE REGISTHAHA(
Apeopleid IN VARCHAR,
Aname IN VARCHAR
)
AS 
BEGIN
INSERT INTO REGIST(PEOPLEID,NAME) VALUES(Apeopleid,Aname);
END REGISTHAHA;
2.配置
<insert id="inserRegist2" statementType="CALLABLE" parameterType="com.oracle.vo.Regist">
  {call registhaha(#{peopleid,jdbcType=VARCHAR},#{name,jdbcType=VARCHAR})}
  </insert>
3.执行语句
Regist a=new Regist();
a.setPeopleid("111113");
a.setName("lixiao");
int b = session2.insert("inserRegist2",a);
删除
1.加过程
create or replace PROCEDURE REGISTDELETE(ID in VARCHAR)
AS 
BEGIN
delete from regist where peopleid=ID;


END REGISTDELETE;
2.配置
  <delete id="aaaa" statementType="CALLABLE" parameterType="java.lang.String">
  {call REGISTDELETE(#{id,jdbcType=VARCHAR})}
  </delete>
 3.执行语句
session2.delete("aaaa","FK213"); 
* session2.commit();


更新
1.过程
create or replace PROCEDURE REGISTDELETE(Apeopleid IN VARCHAR,
Aname IN VARCHAR)
AS
BEGIN 
UPDATE SET REGIST (PEOPLEID IN VARCHAR,ANAME IN VARCHAR) VALUES(Apeopleid,Aname)
END REGISTDELETE;
2.配置
  <update id="updateRegist111"  statementType="CALLABLE" parameterType="com.oracle.vo.Regist">
  {call REGISTUPDATE(#{peopleid,jdbcType=VARCHAR},
  #{name,jdbcType=VARCHAR},
  #{idCardno,jdbcType=VARCHAR})}
  </update>
3.
执行语句
Regist r=new Regist();
r.setPeopleid("111113");
r.setName("hehe");
r.setIdCardno("hehehe");
session2.update("updateRegist111",r);
session2.commit();
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

houzhanwublog

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值