存储过程
存储过程(stored procedure)是一组为了完成特定功能的SQL语句集合,经编译后存储在服务器端的数据库中,利用存储过程可以加速SQL语句的执行。
存储过程既可以有参数有返回值,且有多个返回值。但是它与函数不同,存储过程的返回值只是指明执行是否成功,且不能像函数那样被直接调用,只能利用 execute 来执行存储过程。
创建储存过程
无参数,无返回值
--创建名为 PERSON_PROC 的无参数、无返回值的存储过程 create procedure PERSON_PROC as begin --往 person 表插入一条数据 insert into person ( name ) values ( 'chenjy' ) end --执行存储过程 execute PERSON_PROC
有参数,有返回值
--创建名为 PERSON_PROC2 的有输入参数、有返回值的存储过程 create procedure PERSON_PROC2 @Name nvarchar ( 10 )= 'chenjy' --设置默认值 as begin insert into person ( name ) values ( @Name ) select * from person end --执行名为 PERSON_PROC2 的有输入参数的存储过程 execute PERSON_PROC2 'chenmm'
JFinal调用
新建实现ICallback的类
import java . sql . CallableStatement ; import java . sql . Connection ; import java . sql . ResultSet ; import java . sql . SQLException ; import java . util . List ; import com . jfinal . plugin . activerecord . DbKit ; import com . jfinal . plugin . activerecord . ICallback ; import com . jfinal . plugin . activerecord . Record ; import com . jfinal . plugin . activerecord . RecordBuilder ; public class TestCallBack implements ICallback { public String name = "chenjy" ; public ResultSet rs = null ; CallableStatement proc = null ; public List < Record > result = null ; @Override public Object call ( Connection conn ) throws SQLException { try { // 调用存储过程 PERSON_PROC2 proc = conn . prepareCall ( "{call dbo.PERSON_PROC2(?)}" ); // 输入参数name proc . setString ( 1 , name ); rs = proc . executeQuery (); // 返回值 result = RecordBuilder . build ( DbKit . getConfig (), rs ); proc . close (); } catch ( SQLException e ) { System . out . println ( e . toString ()); } return result ; } }调用
TestCallBack cb = new TestCallBack (); // 输入参数 name=chenjynew cb . name = "chenjynew" ; Db . execute ( cb ); // 打印返回值 System . out . print ( cb . result . toString ());调用成功添加了一条chenjynew并检索出所有的数据
以上就是JFinal 调用存储过程的步骤的详细内容,更多关于JFinal 调用存储过程的资料请关注其它相关文章!
原文链接:https://HdhCmsTestcnblogs测试数据/chenjy1225/p/12105971.html
查看更多关于JFinal 调用存储过程的步骤的详细内容...
声明:本文来自网络,不代表【好得很程序员自学网】立场,转载请注明出处:http://haodehen.cn/did223956