急求解决ibatis调用存储过程问题。我按照网上的实例配置了一个,但还是不成功,从没用过ibatis 希望哪为大吓帮帮忙。下面是我些的。
ibatis xml 文件
<parameterMap id="CommandSelectById" class="java.util.Map">
<parameter property="result" javaType="java.lang.String" jdbcType="VARCHAR" mode="OUT" />
</parameterMap>
<procedure id="Command_selectById" parameterMap="CommandSelectById">
{ ? = call truleadmin.proc_test(?) }
</procedure>
-----------------------------------------------
SQL 存储过程
create procedure proc_test @chr_id varchar(50)
as
declare @ftown varchar(30)
declare @fvillage varchar(30)
declare @newfid varchar(50)
select @fvillage=fvillage,@ftown=ftown from Hyjx_FoodDB..TdBase_Sp where chr_id=@chr_id
if(len(@fvillage)=10)
select @newfid=substring(@fvillage,1,6)+'0'+substring(@fvillage,7,2)+'0'+substring(@fvillage,9,len(@fvillage))
else
select @newfid=substring(@ftown,1,6)+'0'+substring(@ftown,7,len(@ftown))
select @newfid
go
需带一个(ID)varchar 类型的参数执行存储过程
-----------------------------------------------
java实现方法
public String changeEnt(Map map)
{
this.getSqlMapClientTemplate().queryForList("Command_selectById", map);
String num = (String)map.get("result");
return num;
}
现在不知道实现过程。 上面参数是Map 类型的, 下面调用怎么办?
-----------------------------------------------
java调用
this.regentup.changeEnt("000B9F2F9D994B14A0F83C00C1DE5E70");
ibatis xml 文件
<parameterMap id="CommandSelectById" class="java.util.Map">
<parameter property="result" javaType="java.lang.String" jdbcType="VARCHAR" mode="OUT" />
</parameterMap>
<procedure id="Command_selectById" parameterMap="CommandSelectById">
{ ? = call truleadmin.proc_test(?) }
</procedure>
-----------------------------------------------
SQL 存储过程
create procedure proc_test @chr_id varchar(50)
as
declare @ftown varchar(30)
declare @fvillage varchar(30)
declare @newfid varchar(50)
select @fvillage=fvillage,@ftown=ftown from Hyjx_FoodDB..TdBase_Sp where chr_id=@chr_id
if(len(@fvillage)=10)
select @newfid=substring(@fvillage,1,6)+'0'+substring(@fvillage,7,2)+'0'+substring(@fvillage,9,len(@fvillage))
else
select @newfid=substring(@ftown,1,6)+'0'+substring(@ftown,7,len(@ftown))
select @newfid
go
需带一个(ID)varchar 类型的参数执行存储过程
-----------------------------------------------
java实现方法
public String changeEnt(Map map)
{
this.getSqlMapClientTemplate().queryForList("Command_selectById", map);
String num = (String)map.get("result");
return num;
}
现在不知道实现过程。 上面参数是Map 类型的, 下面调用怎么办?
-----------------------------------------------
java调用
this.regentup.changeEnt("000B9F2F9D994B14A0F83C00C1DE5E70");
解决方案 »
- 关于strut2的校验框架
- 监听器错误?这是什么问题啊?
- struts2.0 配置问题
- <script src="http://localhost:8080/abc/a.jsp">不显示
- 有没有人使用Grails-0.2
- hivemind框架所需什么包,从什么地方下载呀
- 急,急,急,希望RESIN或是SPRING框架的高手帮助!!!!
- FileInputStream问题??高手请进...
- 哪儿有SUN JDK1.4.1 API可以下载(在线等待,立即结帐)
- 如何使Applt中的组件占满Applet?(高分)
- lucene3对结果按照个人意愿排序
- java.lang.NumberFormatException:at org.apache.jsp.article_jsp.tree(article_jsp.j
<!DOCTYPE sqlMap PUBLIC "-//ibatis.apache.org//DTD SQL Map 2.0//EN" "http://ibatis.apache.org/dtd/sql-map-2.dtd">
<sqlMap namespace="Link">
<parameterMap id="LinkMap" class="java.util.Map">
<parameter property="ip" javaType="String" jdbcType="STRING" mode="IN"/>
<parameter property="port" javaType="String" jdbcType="STRING" mode="IN"/>
<parameter property="aid" javaType="String" jdbcType="STRING" mode="IN"/>
<parameter property="zid" javaType="String" jdbcType="STRING" mode="IN"/>
</parameterMap>
<procedure id="SaveLink" parameterMap="LinkMap">
<![CDATA[
{ call save_link(?, ?, ?, ?) }
]]>
</procedure>
</sqlMap>java实现方法
public boolean AddCCLInk(
String ip,
String port,
String aid,
String zid){
boolean i = false;
try{
HashMap localHashMap = new HashMap(2);
localHashMap.put("ip", ip);
localHashMap.put("port", port);
localHashMap.put("aid", aid);
localHashMap.put("zid", zid);
this.sqlMapClient.queryForObject("SaveLink", localHashMap);
i = true;
}catch (Exception e) {
e.printStackTrace();
logger.error("保存原始VCC数据发生异常", e);
}
return i;
}