在 ibatis 中 调用 存储过程

先在sqlmap中定义procedure:
<!--c1-->
代码
<!--ec1--><parameterMap id="swapParameters" class="map">
<parameter property="contactId" jdbcType="INTEGER" javaType="java.lang.Integer" mode="IN"/>
<parameter property="firstName" jdbcType="VARCHAR" javaType="java.lang.String" mode="IN"/>
<parameter property="lastName" jdbcType="VARCHAR" javaType="java.lang.String" mode="IN"/>
</parameterMap>
<procedure id="swapContactName" parameterMap="swapParameters">
{call swap_contact_name (?, ?,?)}
</procedure> <!--c2-->
<!--ec2-->
用来调用的代码:
<!--c1-->
代码
<!--ec1-->HashMap paramMap = new HashMap();
paramMap.put("contactId", new Integer(contact.getContactId()));
paramMap.put("firstName", "James");
paramMap.put("lastName", "Bond");
contactdao.swapContactName(paramMap);<!--c2-->
<!--ec2-->

若连接未断,就没有正常提交。更改了transactionManager后,一切正常! <!--IBF.ATTACHMENT_18766-->

你可能感兴趣的:(java,ibatis)