struts2+spring2.0+ibatis调用存储过程。

问题描述

我现在的做的项目是struts2+spring2.0+ibatis的,以前一直用Hibernate,对ibatis不熟。现在要频繁的调用一批存储过程。我有个问题,不理解。struts2+spring2.0+ibatis的系统,可以配置了既可以用ibatis又可以用jdbc吗我发觉jdbc调用存储过程比较简单,但是如果是在现有系统中不用spring的事务管理,自己在代码里写个链接jdbc的代码,很多存储过程要频繁打开,关闭连接,性能肯定不行。所以想问问,有什么方法,比如,ibatis直接调用jdbc的方法来调用存储过程,或者在现在的系统架构里spring事务管理既支持ibatis又支持jdbc?

解决方案

解决方案二:
ibatis调用存储过程也很简单,你百度一下很多
解决方案三:
给你个例子吧,应该符合你的要求。publicclassBusStatusDAOImplextendsSqlMapClientDaoSupportimplementsBusStatusDAO{publicbooleansaveBusStatusInfo(BusStatusInfobusStatusInfo){booleanb=false;if(null!=busStatusInfo){Connectionconn=null;CallableStatementstmt=null;try{conn=this.getDataSource().getConnection();stmt=conn.prepareCall("{callGBOS_CACHE.ADD_BUS_BASE_INFO(?,?,?,?,?,?,?,?,?,?)}");stmt.setInt(1,busStatusInfo.getBusID());//busidstmt.setString(2,busStatusInfo.getTerminalID());//terminalIDstmt.setInt(3,busStatusInfo.getPreEngineRunTime());//pre_engine_timestmt.setFloat(4,busStatusInfo.getPreOilCost());//pre_oil_coststmt.setFloat(5,busStatusInfo.getPreMileage());//pre_mileagestmt.setInt(6,busStatusInfo.getCurrentStartEngineRunTime());//start_engine_timestmt.setFloat(7,busStatusInfo.getCurrentStartOilCost());//start_oil_coststmt.setFloat(8,busStatusInfo.getCurrentStartMileage());//start_mileagestmt.setInt(9,busStatusInfo.getVehicleKeyValue());//vehicle_key_valuestmt.setInt(10,busStatusInfo.getGearNum());//gear_numstmt.execute();if(stmt.getUpdateCount()>0){b=true;}}catch(Exceptione){log.error("saveBusStatusInfo"+e);}finally{if(stmt!=null)try{stmt.close();}catch(SQLExceptione){}if(conn!=null)try{conn.close();}catch(SQLExceptione){}}}returnb;}}

时间: 2024-03-31 10:39:51

struts2+spring2.0+ibatis调用存储过程。的相关文章

ibatis调用存储过程入参问题

问题描述 CREATE OR REPLACE TYPE EMP_SALARY_REC AS OBJECT ( EMP_ID NUMBER(5), EMP_NAME VARCHAR2(255), START_DATE DATE, SALARY NUMBER );/CREATE OR REPLACE Type EMP_SALARY_TAB AS TABLE OF EMP_SALARY_REC;/next we will create a small package with one single t

struts2+spring2.0整合的问题

问题描述 小弟在做strut2和spring2.0整合的时候.老是出现下面的问题. 我先单独做的struts2的一个例子程序,没有问题, 再按照<struts2权威指南>这本书上进行整合,可就是报下面的错误,希望哪位大哥帮忙解决. 小弟都调试两天了....另外我想问问: 为什么我做struts2的例子的时候, 加入这个struts2-spring-plugin-2.0.11.1.jar包导入就出问题:嚴重的: Error filterStart, 把这个包去掉就可以... 是我的环境的问题还是

ibatis 调用存储过程返回游标

问题描述 如下:<resultMapid="P_OUTPUTPARAM_Map"class="java.util.HashMap"><resultproperty="noticeno"column="noticeno"/><resultproperty="resultcode"column="resultcode"/><resultpropert

CI调用存储过程很慢怎么提速,mysql存储过程本身执行很快,但是在php调用就要0.8s

问题描述 CI调用存储过程很慢怎么提速,mysql存储过程本身执行很快,但是在php调用就要0.8s $this -> db -> reconnect(); $mysqli = new mysqli(); $mysqli -> query(""SET NAMES utf8""); if (mysqli_connect_errno()) { printf('Connect failed: %s ' mysqli_connect_error()); e

VB6.0 调用存储过程的例子 (前言)

存储过程 VB调用存储过程的例子 前言 (说明:以下代码摘自微软的MSDN,经过测试没问题.) VB调用存储过程的方法很多,如利用ADO对象的Recordset.Open方法,ADO对象的Connection.Excute方法等,都可以获得记录集信息.本主题讨论的是使用Parameter对象调用存储过程,而且可以获得许多意外的信息. 首先需要在Sql Server中建立一个存储过程.请确定已安装了Sql Server 2000的任何版本,且含有Pubs数据库. 打开"查询分析器",启动

Struts2.0 + Spring2.0 + Hibernate3.2编程新解!!!申请【精华贴】

问题描述 最近发现一款SSH代码生成的工具,介绍给大家,下面是我原文copy过来的,希望对大家有帮助,呵呵....AutoCode代码生成器(SSH版)[用于JAVA开发中的Struts2.0+Spring2.0+Hibernate3.2框架整合程序开发]强大的支撑功能,堪称JAVASSH编程的利器,你绝对值得拥有!自动生成以下所有内容(即:完整的JavaSSH支持的工程)Sturts2.0配置-->sturts.xml.struts.propertiesSpring2.0配置-->appli

Enterprise Libary 5.0 调用存储过程超时?

问题描述 有谁发现过EnterpriseLibary5.0调用存储过程超时的情况嘛?把存储过程和参数直接在SQL里跑,0-3秒之间,但是放在EnterpriseLibary里跑,有个别情况会发生超时,而且设置commandtimeout=100都没有效果,还是会超时 解决方案

ibatis调用Oracle中的存储过程和function

一.调用存储过程 Oracle代码 procedure proc_pos_check(p_gtin  in varchar2,                            p_safe_code   in varchar2,                            p_in_sell_id  in varchar2,                            p_buy_id      in varchar2,                        

MyBatis学习教程(六)-调用存储过程_java

一.提出需求 查询得到男性或女性的数量, 如果传入的是0就女性否则是男性 二.准备数据库表和存储过程 create table p_user( id int primary key auto_increment, name varchar(), sex char() ); insert into p_user(name,sex) values('A',"男"); insert into p_user(name,sex) values('B',"女"); insert