struts+spring+ibatis调用存储过程 struts+spring+ibatis调用存储过程,要怎么调? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 你用的ibatis是什么版本的,我记得较低版本的不支持 <?xml version="1.0" encoding="UTF-8"?><!DOCTYPE sqlMap PUBLIC "-//ibatis.apache.org//DTD SQL Map 2.0//EN" "http://ibatis.apache.org/dtd/sql-map-2.dtd"><sqlMap namespace="PROCEDURE"><!--- =======================================================- 授权用户某个设备得权限- =======================================================--><parameterMap class="map" id="proPermissionDevicePerson"> <parameter property="deviceId" jdbcType="VARCHAR" javaType="java.lang.String" mode="IN"/> <parameter property="deviceType" jdbcType="VARCHAR" javaType="java.lang.String" mode="IN"/> <parameter property="permissionType" jdbcType="VARCHAR" javaType="java.lang.String" mode="IN"/> <parameter property="userId" jdbcType="VARCHAR" javaType="java.lang.String" mode="IN"/> <parameter property="result" jdbcType="VARCHAR" javaType="java.lang.String" mode="OUT"/></parameterMap><procedure id="shareDeviceToPerson" parameterMap="proPermissionDevicePerson"> <![CDATA[ {call share_dev_prv_to_person (?,?,?,?,?)} ]]></procedure></sqlMap>JAVA调用实现PermissionDAOIbatisImpl.java如下:// 授权设备给用户public static final String SHARE_DEVICE_TO_PERSON = "PROCEDURE.shareDeviceToPerson";public boolean shareDeviceToPerson(UserPermission userPermission) {Map map = new HashMap();boolean flag = false;map.put("deviceId", userPermission.getDeviceId());map.put("deviceType", userPermission.getDeviceType());map.put("userId", userPermission.getUserId());map.put("permissionType", userPermission.getPermissionType());try { getSqlMapClientTemplate().insert(SHARE_DEVICE_TO_PERSON, map); String result = (String) map.get("result"); //得到返回值 if (StringUtil.isNotBlank(result) && "2".equalsIgnoreCase(result)) { flag = true; }} catch (Exception e) { throw new DaoException("DAOException: " + e);}return flag;} 我现在的做的项目是 struts2+spring2.0+ibatis的,以前一直用Hibernate,对ibatis不熟。现在要频繁的调用一批存储过程。我有个问题,不理解。struts2+spring2.0+ibatis的系统,可以配置了既可以用ibatis又可以用jdbc吗我发觉jdbc调用存储过程比较简单,但是如果是在现有系统中不用spring的事务管理,自己在代码里写个链接jdbc的代码,很多存储过程要频繁打开,关闭连接,性能肯定不行。所以想问问,有什么方法,比如,ibatis直接调用jdbc的方法来调用存储过程,或者在现在的系统架构里spring事务管理既支持ibatis又支持jdbc? j2ee 请问对于首页welcome-file应该如何处理? 问个js时间暂停的问题 关于数据水平切分后的数据库数据查询分页问题 高分求教acegi session过期问题 重拨adsl后ping之前一直在ping的网站就ping不通了,但是其他网站是可以ping通 请教tomcat下如何将war包配置成网站根目录下运行? rmi远程方法调用的问题,help 简单问题 求教,java调用.net dll的方法 小白求教各位大神 【加急帖】在zk+spring2.5环境下使用fckeditor for zk报错【求推荐解答】 Struts1 中,如何将数据提交到Form 中的 Set集合里?
<!DOCTYPE sqlMap PUBLIC "-//ibatis.apache.org//DTD SQL Map 2.0//EN" "http://ibatis.apache.org/dtd/sql-map-2.dtd">
<sqlMap namespace="PROCEDURE"><!--
- =======================================================
- 授权用户某个设备得权限
- =======================================================
-->
<parameterMap class="map" id="proPermissionDevicePerson">
<parameter property="deviceId" jdbcType="VARCHAR" javaType="java.lang.String" mode="IN"/>
<parameter property="deviceType" jdbcType="VARCHAR" javaType="java.lang.String" mode="IN"/>
<parameter property="permissionType" jdbcType="VARCHAR" javaType="java.lang.String" mode="IN"/>
<parameter property="userId" jdbcType="VARCHAR" javaType="java.lang.String" mode="IN"/>
<parameter property="result" jdbcType="VARCHAR" javaType="java.lang.String" mode="OUT"/>
</parameterMap><procedure id="shareDeviceToPerson" parameterMap="proPermissionDevicePerson">
<![CDATA[
{call share_dev_prv_to_person (?,?,?,?,?)}
]]>
</procedure>
</sqlMap>
JAVA调用实现PermissionDAOIbatisImpl.java如下:// 授权设备给用户
public static final String SHARE_DEVICE_TO_PERSON = "PROCEDURE.shareDeviceToPerson";
public boolean shareDeviceToPerson(UserPermission userPermission) {
Map map = new HashMap();
boolean flag = false;
map.put("deviceId", userPermission.getDeviceId());
map.put("deviceType", userPermission.getDeviceType());
map.put("userId", userPermission.getUserId());
map.put("permissionType", userPermission.getPermissionType());
try {
getSqlMapClientTemplate().insert(SHARE_DEVICE_TO_PERSON, map);
String result = (String) map.get("result");
//得到返回值
if (StringUtil.isNotBlank(result) && "2".equalsIgnoreCase(result)) {
flag = true;
}
} catch (Exception e) {
throw new DaoException("DAOException: " + e);
}
return flag;
}
我有个问题,不理解。struts2+spring2.0+ibatis的系统,可以配置了既可以用ibatis又可以用jdbc吗
我发觉jdbc调用存储过程比较简单,但是如果是在现有系统中不用spring的事务管理,自己在代码里写个链接jdbc的代码,很多存储过程要频繁打开,关闭连接,性能肯定不行。所以想问问,有什么方法,比如,ibatis直接调用jdbc的方法来调用存储过程,或者在现在的系统架构里spring事务管理既支持ibatis又支持jdbc?