Java代码 —— 测试类代码:
public class SpringInvokeSP {
public static void main(String[] args) {
String driverClassName="com.microsoft.sqlserver.jdbc.SQLServerDriver";
String url="jdbc:sqlserver://192.168.0.3:1433;DatabaseName=CTU_WMS";
String username="CTU_WMS_user";
String password="ctuwms";
// 创建datasource
DriverManagerDataSource ds = new DriverManagerDataSource();
ds.setDriverClassName(driverClassName);
ds.setUrl(url);
ds.setUsername(username);
ds.setPassword(password);
resultSP(ds);
}
/**
* 返回多个结果集的存储过程
* @param ds
*/
public static void resultSP(DriverManagerDataSource ds){
SQLStoredProcedure sp = new SQLStoredProcedure(ds,"my_sp_test");
sp.addParameter("i", 11);
sp.addOutStringParameter("outstr");
sp.addInOutParameter("returnCode", "Hello vicky");
sp.addOutDateParameter("date");
sp.addOutDateParameter("datetime");
sp.addResultSetParameter("result-set-1", CdBillNoRuleModel.class);
sp.addResultSetParameter("result-set-2", EsUserModel.class);
Map<String,Object> result = sp.execute();
String resultStr = (String)result.get("outstr");
String returnCode = (String)result.get("returnCode");
System.out.println(resultStr);
System.out.println(returnCode);
System.out.println((Date)result.get("date"));
System.out.println((Date)result.get("datetime"));
List<CdBillNoRuleModel> results = (List<CdBillNoRuleModel>)
result.get("result-set-1");
if(null != results){
try {
for(CdBillNoRuleModel model : results){
System.out.println(model.getCdbrDesc