一、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里面