溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

怎么在JFinal中調用存儲過程

發(fā)布時間:2021-03-15 15:12:01 來源:億速云 閱讀:171 作者:Leah 欄目:開發(fā)技術

本篇文章為大家展示了怎么在JFinal中調用存儲過程,內容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。

創(chuàng)建儲存過程

無參數,無返回值

--創(chuàng)建名為 PERSON_PROC 的無參數、無返回值的存儲過程
create procedure PERSON_PROC
as
begin
 --往person表插入一條數據
 insert into person(name) values ('chenjy')
end

--執(zhí)行存儲過程
execute PERSON_PROC

怎么在JFinal中調用存儲過程

有參數,有返回值

--創(chuàng)建名為 PERSON_PROC2 的有輸入參數、有返回值的存儲過程
create procedure PERSON_PROC2
@Name nvarchar(10)='chenjy'  --設置默認值
as
begin
  insert into person(name) values (@Name)
  
  select * from person
  
end


--執(zhí)行名為 PERSON_PROC2 的有輸入參數的存儲過程
execute PERSON_PROC2 'chenmm'

怎么在JFinal中調用存儲過程

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中調用存儲過程,你們學到知識或技能了嗎?如果還想學到更多技能或者豐富自己的知識儲備,歡迎關注億速云行業(yè)資訊頻道。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI