mybatis调用mysql存储过程(返回值问题)
2014-09-28 19:04
477 查看
一、xml配置文件有两种写法
1、
<select id="getSeedValue" parameterMap="seedMap" statementType="CALLABLE">
{call PROC_SEQ_SEED_GET(?,?,?,?,?)}
</select>
<parameterMap id="seedMap" type="java.util.Map">
<parameter property="netId" jdbcType="BIGINT" mode="IN" />
<parameter property="compId" jdbcType="BIGINT" mode="IN" />
<parameter property="seedType" jdbcType="SMALLINT" mode="IN" />
<parameter property="seedDate" jdbcType="VARCHAR" mode="IN" />
<parameter property="seedValue" jdbcType="BIGINT" mode="OUT" />
</parameterMap>
2、
<select id="getSeedValue" parameterType="java.util.Map"
statementType="CALLABLE" >
{call
PROC_SEQ_SEED_GET(
#{netId,mode=IN,jdbcType=BIGINT},
#{compId,mode=IN,jdbcType=BIGINT},
#{seedType,mode=IN,jdbcType=BIGINT},
#{seedDate,mode=IN,jdbcType=VARCHAR},
#{seedValue,mode=OUT,jdbcType=BIGINT}
)}
</select>
注:jdbcType是mysql数据库的类型,不是java的基本类型 statementType="CALLABLE"为必填项
二、java中的调用
Map<String, Object> map = new HashMap<String, Object>();
map.put("netId", PubMethod.isEmpty(net_id) ? 0L : net_id);
map.put("compId", comp_id == null ? 0l : comp_id);
map.put("seedType", seed_type);
map.put("seedDate", PubMethod.getCurSysDate("yyyyMMdd"));
this.parTaskRecordMapper.getSeedValue(map);
String seed_value = "";
if (map != null) {
seed_value = String.valueOf(map.get("seedValue") != null ? map.get("seedValue") :"");
}
注:存储过程的返回值不用新的map接受,值回传在参数里面的map里面
1、
<select id="getSeedValue" parameterMap="seedMap" statementType="CALLABLE">
{call PROC_SEQ_SEED_GET(?,?,?,?,?)}
</select>
<parameterMap id="seedMap" type="java.util.Map">
<parameter property="netId" jdbcType="BIGINT" mode="IN" />
<parameter property="compId" jdbcType="BIGINT" mode="IN" />
<parameter property="seedType" jdbcType="SMALLINT" mode="IN" />
<parameter property="seedDate" jdbcType="VARCHAR" mode="IN" />
<parameter property="seedValue" jdbcType="BIGINT" mode="OUT" />
</parameterMap>
2、
<select id="getSeedValue" parameterType="java.util.Map"
statementType="CALLABLE" >
{call
PROC_SEQ_SEED_GET(
#{netId,mode=IN,jdbcType=BIGINT},
#{compId,mode=IN,jdbcType=BIGINT},
#{seedType,mode=IN,jdbcType=BIGINT},
#{seedDate,mode=IN,jdbcType=VARCHAR},
#{seedValue,mode=OUT,jdbcType=BIGINT}
)}
</select>
注:jdbcType是mysql数据库的类型,不是java的基本类型 statementType="CALLABLE"为必填项
二、java中的调用
Map<String, Object> map = new HashMap<String, Object>();
map.put("netId", PubMethod.isEmpty(net_id) ? 0L : net_id);
map.put("compId", comp_id == null ? 0l : comp_id);
map.put("seedType", seed_type);
map.put("seedDate", PubMethod.getCurSysDate("yyyyMMdd"));
this.parTaskRecordMapper.getSeedValue(map);
String seed_value = "";
if (map != null) {
seed_value = String.valueOf(map.get("seedValue") != null ? map.get("seedValue") :"");
}
注:存储过程的返回值不用新的map接受,值回传在参数里面的map里面
相关文章推荐
- myBatis调用带返回值的存储过程(mysql)
- 关于sqlhelper 调用存储过程 获取 返回值和参数的问题
- mybatis 调用mysql存储过程 带输出输入参数
- SQL一个存储过程调用另一个存储过程 获得返回值问题
- myBatis调用存储过程返回两种类型的值--只返回一种的问题
- gcc编译c语言调用mysql存储过程代码出现的问题list
- PHP调用存储过程返回值不一致问题的解决方法分析
- (useAffectedRows)Mysql / Mybatis update时,字段不变返回值的问题
- Mysql的存储过程,Mybatis对存储过程的调用
- mysql 存储过程,以及mybatis如何调用
- SQL一个存储过程调用另一个存储过程 获得返回值问题
- MySQL 存储过程实例 与 ibatis/mybatis/hibernate/jdbc 如何调用存储过程
- Mybatis调用mysql存储过程
- java, mybatis, 调用mysql存储过程
- SQL一个存储过程调用另一个存储过程 获得返回值问题
- asp.net调用mysql 存储过程 带 out 返回值,返回刚插入数据库中的自增的ID,LAST_INSERT_ID() 的使用
- mysql存储过程一次连接多次调用失败的问题解决
- mybatis 调用mysql存储过程 带输出输入参数
- Mybatis调用MySQL存储过程
- MyBatis—调用mysql存储过程 带输出输入参数