本篇文章为大家展示了怎么在JFinal中调用存储过程,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。
无参数,无返回值
--创建名为 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'
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中调用存储过程,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注亿速云行业资讯频道。
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。