1、Ibatis实现增删改操作很简单了,通常我是将某一模块的增删改功能写在一个存储过程里,通过一个标识符去区分执行增加还是修改抑或删除操作。
statement:
<!-- 存储过程:实现学生的增删改操作 -->
<procedure id="crud" parameterClass="xuesheng" >
{call PRO_STUDENT_SUBMIT(
#xs_id#,
#xs_name#,
#zy_id#,
#xs_num#,
#xs_sfz#,
#xs_tel#,
#xs_email#,
#xs_address#,
#xs_sex#,
#xs_date#,
#bq#
)}
</procedure>
create or replace procedure PRO_STUDENT_SUBMIT(
v_xs_id in varchar2,
v_xs_name in varchar2,
v_zy_id in varchar2,
v_xs_num in varchar2,
v_xs_sfz in varchar2,
v_xs_tel in varchar2,
v_xs_email in varchar2,
v_xs_address in varchar2,
v_xs_sex in varchar2,
v_xs_date in varchar2,
v_bq in varchar2
) is
begin
--当bq为1时,执行添加操作;为2时,执行修改操作;为3时执行删除操作
if (v_bq = '1') then
insert into xs
(xs_id, xs_name, zy_id, xs_num, xs_sfz, xs_tel, xs_email, xs_address, xs_sex,xs_date)
values
(seq_xs.nextval , v_xs_name, v_zy_id, v_xs_num, v_xs_sfz, v_xs_tel, v_xs_email, v_xs_address, v_xs_sex,v_xs_date);
end if;
if (v_bq = '2') then
update xs
set xs_id = v_xs_id,
xs_name = v_xs_name,
zy_id = v_zy_id,
xs_num = v_xs_num,
xs_sfz = v_xs_sfz,
xs_tel = v_xs_tel,
xs_email = v_xs_email,
xs_address = v_xs_address,
xs_sex = v_xs_sex,
xs_date=v_xs_date
where xs_id = v_xs_id;
end if;
if (v_bq = '3') then
delete xs
where xs_id = v_xs_id;
end if;
end PRO_STUDE