ibatis调用sqlserver存储过程:
order.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sqlMap
PUBLIC "-//iBATIS.com//DTD SQL Map 2.0//EN"
"http://www.ibatis.com/dtd/sql-map-2.dtd">
<sqlMap>
<typeAlias alias="order" type="com.xinrui.pojo.Order" />
<parameterMap id="ParaMap_order" class="order">
<parameter property="pid" mode="IN" javaType="java.lang.Integer" jdbcType="int" />
<parameter property="price" mode="IN" javaType="java.lang.Double" jdbcType="varchar" />
<parameter property="nums" mode="IN" javaType="java.lang.Integer" jdbcType="int" />
<parameter property="unit" mode="IN" javaType="java.lang.String" jdbcType="varchar" />
<parameter property="notes" mode="IN" javaType="java.lang.String" jdbcType="varchar" />
<parameter property="proid" mode="IN" javaType="java.lang.Integer" jdbcType="int" />
</parameterMap>
<procedure id="addOrders" parameterMap="ParaMap_order">
<![CDATA[{call Shop.Entry_Proc_Insert(?, ?, ?, ?, ?, ?)}]]>
</procedure>
</sqlMap>
action的function
public String submit_orders() {
HttpServletRequest request = ServletActionContext.getRequest();
Order o = new Order();
o.setPid(10000);
o.setNotes("aaaaaaaaaaaaaaa");
o.setNums(121);
o.setPrice(123.123);
o.setUnit("bbbbbbbbbbbbbb");
o.setProid(10000);
orderService.addOrders(o);
return new Constant().SUBMITING;
}
备注:
1.order.xml中,<![CDATA[{call Shop.Entry_Proc_Insert(?, ?, ?, ?, ?, ?)}]]>中的?与parameterMap中的parameter顺序相同;
2.javaType为pojo中的变量属性,jdbcType为数据库中对应字段属性;