当前位置:主页 > java教程 > JFinal 调用存储过程

JFinal 调用存储过程的步骤

发布:2022-09-23 09:38:58 59


给网友朋友们带来一篇JFinal相关的编程文章,网友蒙嘉勋根据主题投稿了本篇教程内容,涉及到JFinal、存储过程、JFinal、调用存储过程、JFinal 调用存储过程相关内容,已被521网友关注,相关难点技巧可以阅读下方的电子资料。

JFinal 调用存储过程

存储过程

存储过程(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 调用存储过程的资料请关注码农之家其它相关文章!


相关文章

  • numpy的文件存储.npy .npz文件具体方法

    发布:2019-07-30

    今天小编就为大家分享一篇numpy的文件存储.npy .npz 文件详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧


  • mysql存储过程实例

    发布:2022-04-04

    这篇文章主要介绍了mysql存储过程实例,需要的朋友可以参考下


  • MySQL存储过程的优化详解

    发布:2020-03-02

    在编写MySQL存储过程的过程中,我们会时不时地需要对某些存储过程进行优化,其目的是确保代码的可读性、正确性及运行性能。本文以作者实际工作为背景,介绍了对某一个MySQL存储过程优化


  • php实现遍历指定目录并存储目录内所有文件属性信息

    发布:2020-05-18

    本篇文章主要介绍了PHP遍历指定目录,并存储目录内所有文件属性信息,具有一定的参考价值,感兴趣的小伙伴们可以参考一下。


  • MySQL存储引擎InnoDB的配置及使用方法

    发布:2019-08-29

    今天小编就为大家分享一篇关于MySQL存储引擎InnoDB的配置与使用的讲解,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧


  • 详解Mysql中存储UUID如何去除横线

    发布:2019-08-09

    这篇文章主要介绍了Mysql中存储UUID去除横线的方法,本文给出了3个Mysql函数实现去除去UUID中的横线,需要的朋友可以参考下


  • Python 稀疏矩阵中sparse存储和转换实例讲解

    发布:2021-04-27

    这篇文章主要介绍了Python 稀疏矩阵-sparse 存储和转换的相关资料,需要的朋友可以参考下


  • Mysql修改表的存储引擎格式语句整理

    发布:2019-10-25

    MYSQL如何修改所有表的存储引擎格式,或许下面的sql语句对大家有所帮助


  • 详解mysql存储引擎的标准

    发布:2020-03-12

    本文介绍了如何选择mysql存储引擎,从存储引擎的介绍、几个常用引擎的特点三个方面进行讲解,需要的朋友可以参考下


  • python文件存储路径使用变量的方法

    发布:2020-02-14

    python文件存储路径使用变量的方法:直接使用变量,path=variable,因为r'()'符号的作用是使用原始字符串,它会改变引号内字符转义的规则。如果您只是从另一个变量中获取值,则不需要r写入


网友讨论