JFinal 调用存储过程的步骤

 更新时间:2021年03月15日 12:02:57   作者:可爱的黑精灵  
这篇文章主要介绍了JFinal 调用存储过程的步骤,帮助大家更好的理解和学习使用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 调用存储过程的资料请关注脚本之家其它相关文章!

相关文章

  • Java cookie和session会话技术介绍

    Java cookie和session会话技术介绍

    session的工作原理和cookie非常类似,在cookie中存放一个sessionID,真实的数据存放在服务器端,客户端每次发送请求的时候带上sessionID,服务端根据sessionID进行数据的响应
    2023-04-04
  • Spring Boot配置application.yml及根据application.yml选择启动配置的操作方法

    Spring Boot配置application.yml及根据application.yml选择启动配置的操作

    Spring Boot中可以选择applicant.properties 作为配置文件,也可以通过在application.yml中进行配置,让Spring Boot根据你的选择进行加载启动配置文件,本文给大家介绍Spring Boot配置application.yml及根据application.yml选择启动配置的操作方法,感兴趣的朋友一起看看吧
    2023-10-10
  • Mybatis-Plus中使用@DS注解动态选择数据源的源码解读

    Mybatis-Plus中使用@DS注解动态选择数据源的源码解读

    这篇文章主要介绍了Mybatis-Plus中使用@DS注解动态选择数据源的源码解读,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-07-07
  • 老生常谈java中cookie的使用

    老生常谈java中cookie的使用

    下面小编就为大家带来一篇老生常谈java中cookie的使用。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-12-12
  • Java编程获取经纬度之间距离的方法

    Java编程获取经纬度之间距离的方法

    这篇文章主要介绍了Java编程获取经纬度之间距离的方法,涉及Java数学运算的相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-11-11
  • Java实现一个简单的文件上传案例示例代码

    Java实现一个简单的文件上传案例示例代码

    这篇文章主要介绍了Java实现一个简单的文件上传案例,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-07-07
  • Mybatis创建逆向工程的步骤

    Mybatis创建逆向工程的步骤

    Mybatis逆向工程是一个自动生成Mybatis Mapper接口、XML文件和Java实体类的工具,可以提高开发效率,避免手动编写大量的重复代码,本文主要介绍了Mybatis创建逆向工程的步骤,感兴趣的可以了解一下
    2023-10-10
  • Java8 日期、时间操作代码

    Java8 日期、时间操作代码

    在Java8之前,日期时间API一直被开发者诟病,包括:java.util.Date是可变类型,SimpleDateFormat非线程安全等问题。故此,Java8引入了一套全新的日期时间处理API,新的API基于ISO标准日历系统
    2021-09-09
  • zookeeper的watch机制原理解析

    zookeeper的watch机制原理解析

    Watcher,异步通知客户端,并且删除哈希表中对应的 Key-Value,这篇文章主要介绍了zookeeper的watch机制详细讲解,需要的朋友可以参考下
    2022-06-06
  • 解读JDK8踩坑JCE加密限制版本问题

    解读JDK8踩坑JCE加密限制版本问题

    这篇文章主要介绍了JDK8踩坑JCE加密限制版本问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-05-05

最新评论