JFinal 调用存储过程的步骤
存储过程
存储过程(storedprocedure)是一组为了完成特定功能的SQL语句集合,经编译后存储在服务器端的数据库中,利用存储过程可以加速SQL语句的执行。
存储过程既可以有参数有返回值,且有多个返回值。但是它与函数不同,存储过程的返回值只是指明执行是否成功,且不能像函数那样被直接调用,只能利用execute来执行存储过程。
创建储存过程
无参数,无返回值
--创建名为PERSON_PROC的无参数、无返回值的存储过程
createprocedurePERSON_PROC
as
begin
--往person表插入一条数据
insertintoperson(name)values('chenjy')
end
--执行存储过程
executePERSON_PROC
有参数,有返回值
--创建名为PERSON_PROC2的有输入参数、有返回值的存储过程 createprocedurePERSON_PROC2 @Namenvarchar(10)='chenjy'--设置默认值 as begin insertintoperson(name)values(@Name) select*fromperson end --执行名为PERSON_PROC2的有输入参数的存储过程 executePERSON_PROC2'chenmm'
JFinal调用
新建实现ICallback的类
importjava.sql.CallableStatement;
importjava.sql.Connection;
importjava.sql.ResultSet;
importjava.sql.SQLException;
importjava.util.List;
importcom.jfinal.plugin.activerecord.DbKit;
importcom.jfinal.plugin.activerecord.ICallback;
importcom.jfinal.plugin.activerecord.Record;
importcom.jfinal.plugin.activerecord.RecordBuilder;
publicclassTestCallBackimplementsICallback{
publicStringname="chenjy";
publicResultSetrs=null;
CallableStatementproc=null;
publicListresult=null;
@Override
publicObjectcall(Connectionconn)throwsSQLException{
try{
//调用存储过程PERSON_PROC2
proc=conn.prepareCall("{calldbo.PERSON_PROC2(?)}");
//输入参数name
proc.setString(1,name);
rs=proc.executeQuery();
//返回值
result=RecordBuilder.build(DbKit.getConfig(),rs);
proc.close();
}catch(SQLExceptione){
System.out.println(e.toString());
}
returnresult;
}
}
调用
TestCallBackcb=newTestCallBack(); //输入参数name=chenjynew cb.name="chenjynew"; Db.execute(cb); //打印返回值 System.out.print(cb.result.toString());
调用成功添加了一条chenjynew并检索出所有的数据
以上就是JFinal调用存储过程的步骤的详细内容,更多关于JFinal调用存储过程的资料请关注毛票票其它相关文章!
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。