الحزمة com.rxtc.bi.app.crm.rep.dao.impl;
import java.sql.CallableStatement;
استيراد java.sql.Connection؛
import java.sql.ResultSet;
استيراد java.sql.SQLException؛
import javax.sql.DataSource;
import org.springframework.orm.hibernate3.SessionFactoryUtils;
import org.springframework.orm.hibernate3.support.HibernateDaoSupport;
/**
*
* <قبل>
* العنوان: استخدام الإجراءات المخزنة في السبات
* يحتاج فقط إلى تجاوز السبات واستدعاء واجهة برمجة تطبيقات jdbc، وبالطبع لا تزال المعاملة تتم إدارتها بواسطة السبات:
لنفترض أننا قمنا بإنشاء الإجراء المخزن التالي:
إنشاء أو استبدال الإجراء BatchUpdateCustomer(p_age in number) كـ
يبدأ
تحديث مجموعة العملاء AGE=AGE+1 حيث AGE> p_age;
نهاية؛
توجد معلمة p_age في الإجراء المخزن، والتي تمثل عمر العميل. يمكن للتطبيق استدعاء الإجراء المخزن بالطريقة التالية:
* الوصف: وصف وظائف البرنامج
* </ما قبل>
* @author lichunmei [email protected]
* @الإصدار 1.00.00
* <قبل>
* تعديل السجلات
* النسخة المعدلة: المعدل: تاريخ التعديل: محتوى التعديل:
* </ما قبل>
*/
يمتد نص الطبقة العامة HibernateDaoSupport {
إجراء الفراغ العام (){
يحاول {
DataSource ds= SessionFactoryUtils.getDataSource(getSessionFactory());
اتصال conn=ds.getConnection();
String sql = "{استدعاء BatchUpdateCustomer(?)}";
CallableStatement cstmt = conn.prepareCall(sql);
cstmt.setInt(1, 0);// اضبط معلمة العمر على 0;
cstmt.executeUpdate();
//ResultSet rs = cstmt.executeQuery(sql);
conn.commit();
//rs. Close();
conn.Close();
} قبض على (SQLException ه) {
printStackTrace();
}
}
}
هذه المقالة مأخوذة من مدونة CSDN، يرجى الإشارة إلى المصدر عند إعادة الطباعة: http://blog.csdn.net/xixi_666/archive/2009/12/18/5029768.aspx.
-