我现在的做的项目是 struts2+spring2.0+ibatis的,以前一直用Hibernate,对ibatis不熟。现在要频繁的调用一批存储过程。
我有个问题,不理解。struts2+spring2.0+ibatis的系统,可以配置了既可以用ibatis又可以用jdbc吗
我发觉jdbc调用存储过程比较简单,但是如果是在现有系统中不用spring的事务管理,自己在代码里写个链接jdbc的代码,很多存储过程要频繁打开,关闭连接,性能肯定不行。所以想问问,有什么方法,比如,ibatis直接调用jdbc的方法来调用存储过程,或者在现在的系统架构里spring事务管理既支持ibatis又支持jdbc?
我有个问题,不理解。struts2+spring2.0+ibatis的系统,可以配置了既可以用ibatis又可以用jdbc吗
我发觉jdbc调用存储过程比较简单,但是如果是在现有系统中不用spring的事务管理,自己在代码里写个链接jdbc的代码,很多存储过程要频繁打开,关闭连接,性能肯定不行。所以想问问,有什么方法,比如,ibatis直接调用jdbc的方法来调用存储过程,或者在现在的系统架构里spring事务管理既支持ibatis又支持jdbc?
boolean b = false;
if(null != busStatusInfo){
Connection conn = null;
CallableStatement stmt = null;
try{
conn=this.getDataSource().getConnection();
stmt = conn.prepareCall("{ call GBOS_CACHE.ADD_BUS_BASE_INFO(?,?,?,?,?, ?,?,?,?,?) }");
stmt.setInt(1, busStatusInfo.getBusID()); //busid
stmt.setString(2, busStatusInfo.getTerminalID()); //terminalID
stmt.setInt(3, busStatusInfo.getPreEngineRunTime()); //pre_engine_time
stmt.setFloat(4, busStatusInfo.getPreOilCost()); //pre_oil_cost
stmt.setFloat(5, busStatusInfo.getPreMileage()); //pre_mileage
stmt.setInt(6, busStatusInfo.getCurrentStartEngineRunTime()); //start_engine_time
stmt.setFloat(7, busStatusInfo.getCurrentStartOilCost()); //start_oil_cost
stmt.setFloat(8, busStatusInfo.getCurrentStartMileage()); //start_mileage
stmt.setInt(9, busStatusInfo.getVehicleKeyValue()); //vehicle_key_value
stmt.setInt(10, busStatusInfo.getGearNum()); //gear_num
stmt.execute();
if(stmt.getUpdateCount() > 0){
b = true;
}
}catch(Exception e){
log.error("saveBusStatusInfo " +e);
}finally{
if (stmt != null)
try{
stmt.close();
} catch (SQLException e){
}
if (conn != null)
try{
conn.close();
} catch (SQLException e){
}
}
}
return b;
}
}